ModelExecution *execution = model->get_execution();
- cdsc::condition_variable *v = new cdsc::condition_variable();
- cdsc::mutex *m = new cdsc::mutex();
+ cdsc::snapcondition_variable *v = new cdsc::snapcondition_variable();
+ cdsc::snapmutex *m = new cdsc::snapmutex();
execution->getCondMap()->put( (pthread_cond_t *) __addr, v);
execution->getMutexMap()->put( (pthread_mutex_t *) __addr, m);
// INT_MAX wakes all the waiters at the address __addr
ModelExecution *execution = model->get_execution();
cdsc::condition_variable *v = execution->getCondMap()->get( (pthread_cond_t *) __addr);
+
+ if (v == NULL)
+ return;// do nothing
+
v->notify_all();
}