3 #include "simgrid/s4u/conditionVariable.hpp"
4 #include "simgrid/simix.h"
6 using namespace simgrid;
8 s4u::ConditionVariable::ConditionVariable() : cond_(simcall_cond_init()){
12 s4u::ConditionVariable::~ConditionVariable() {
13 SIMIX_cond_unref(cond_);
19 void s4u::ConditionVariable::wait(std::unique_lock<Mutex>& lock) {
20 simcall_cond_wait(cond_, lock.mutex()->mutex_);
23 void s4u::ConditionVariable::wait_for(std::unique_lock<Mutex>& lock, double timeout) {
24 simcall_cond_wait_timeout(cond_, lock.mutex()->mutex_, timeout);
30 void s4u::ConditionVariable::notify() {
31 simcall_cond_signal(cond_);
34 void s4u::ConditionVariable::notify_all() {
35 simcall_cond_broadcast(cond_);