mirror of
https://github.com/kidfromjupiter/nearby.git
synced 2026-09-14 22:56:12 -04:00
Signed-off-by: Alexey Polyudov <apolyudov@google.com> Change-Id: I2cf5bf225b76f4c1541954651f3a7544a14e0cec
29 lines
672 B
C++
29 lines
672 B
C++
#include "platform/impl/default/default_condition_variable.h"
|
|
|
|
namespace location {
|
|
namespace nearby {
|
|
|
|
DefaultConditionVariable::DefaultConditionVariable(Ptr<DefaultLock> lock)
|
|
: lock_(lock), attr_(), cond_() {
|
|
pthread_condattr_init(&attr_);
|
|
|
|
pthread_cond_init(&cond_, &attr_);
|
|
}
|
|
|
|
DefaultConditionVariable::~DefaultConditionVariable() {
|
|
pthread_cond_destroy(&cond_);
|
|
|
|
pthread_condattr_destroy(&attr_);
|
|
}
|
|
|
|
void DefaultConditionVariable::notify() { pthread_cond_broadcast(&cond_); }
|
|
|
|
Exception::Value DefaultConditionVariable::wait() {
|
|
pthread_cond_wait(&cond_, &(lock_->mutex_));
|
|
|
|
return Exception::NONE;
|
|
}
|
|
|
|
} // namespace nearby
|
|
} // namespace location
|