X-Git-Url: http://plrg.eecs.uci.edu/git/?p=c11tester.git;a=blobdiff_plain;f=conditionvariable.cc;h=9d569e974406dc56831387c4f55e5321151d2739;hp=5bd0beb3cd7e2e0c8c0819dc5c20bc18588784a7;hb=7742256df627848c1c375f979f5369a45c92057b;hpb=55eb20c50ec656d385fb6e94c01aea55e9514917 diff --git a/conditionvariable.cc b/conditionvariable.cc index 5bd0beb3..9d569e97 100644 --- a/conditionvariable.cc +++ b/conditionvariable.cc @@ -1,24 +1,28 @@ -#include +#include "mutex.h" #include "model.h" -#include "conditionvariable.h" +#include +#include "action.h" - -namespace std { +namespace cdsc { condition_variable::condition_variable() { - + +} + +condition_variable::~condition_variable() { + } void condition_variable::notify_one() { - model->switch_to_master(new ModelAction(ATOMIC_NOTIFY_ONE, std::memory_order_seq_cst, this)); + model->switch_thread(new ModelAction(ATOMIC_NOTIFY_ONE, std::memory_order_seq_cst, this)); } void condition_variable::notify_all() { - model->switch_to_master(new ModelAction(ATOMIC_NOTIFY_ALL, std::memory_order_seq_cst, this)); + model->switch_thread(new ModelAction(ATOMIC_NOTIFY_ALL, std::memory_order_seq_cst, this)); } void condition_variable::wait(mutex& lock) { - model->switch_to_master(new ModelAction(ATOMIC_WAIT, std::memory_order_seq_cst, this, (uint64_t) &lock)); + model->switch_thread(new ModelAction(ATOMIC_WAIT, std::memory_order_seq_cst, this, (uint64_t) &lock)); //relock as a second action lock.lock(); }