improve complexity
[c11tester.git] / mutex.cc
index da3184e55a074823b2909bc653e1c2ba30b6b067..0776db8eef5857b34c47bdbf3493194c9672097a 100644 (file)
--- a/mutex.cc
+++ b/mutex.cc
@@ -1,25 +1,27 @@
-#include <mutex>
+#include "mutex.h"
 
 #include "model.h"
+#include "execution.h"
 #include "threads-model.h"
 #include "clockvector.h"
 #include "action.h"
 
-namespace std {
+namespace cdsc {
 
 mutex::mutex()
 {
        state.locked = NULL;
        thread_id_t tid = thread_current()->get_id();
        state.alloc_tid = tid;
-       state.alloc_clock = model->get_cv(tid)->getClock(tid);
+       ClockVector *cv = model->get_execution()->get_cv(tid);
+       state.alloc_clock = cv  == NULL ? 0 : cv->getClock(tid);
 }
-       
+
 void mutex::lock()
 {
        model->switch_to_master(new ModelAction(ATOMIC_LOCK, std::memory_order_seq_cst, this));
 }
-       
+
 bool mutex::try_lock()
 {
        return model->switch_to_master(new ModelAction(ATOMIC_TRYLOCK, std::memory_order_seq_cst, this));