seq_number = num;
}
+void ModelAction::reset_seq_number()
+{
+ seq_number = 0;
+}
+
bool ModelAction::is_thread_start() const
{
return type == THREAD_START;
bool ModelAction::is_mutex_op() const
{
- return type == ATOMIC_LOCK || type == ATOMIC_TRYLOCK || type == ATOMIC_UNLOCK || type == ATOMIC_WAIT || type == ATOMIC_NOTIFY_ONE || type == ATOMIC_NOTIFY_ALL;
+ return type == ATOMIC_LOCK || type == ATOMIC_TRYLOCK || type == ATOMIC_UNLOCK || type == ATOMIC_WAIT || type == ATOMIC_TIMEDWAIT || type == ATOMIC_NOTIFY_ONE || type == ATOMIC_NOTIFY_ALL;
}
bool ModelAction::is_lock() const
}
bool ModelAction::is_wait() const {
- return type == ATOMIC_WAIT;
+ return type == ATOMIC_WAIT || type == ATOMIC_TIMEDWAIT;
}
bool ModelAction::is_notify() const {
case ATOMIC_UNLOCK: return "unlock";
case ATOMIC_TRYLOCK: return "trylock";
case ATOMIC_WAIT: return "wait";
+ case ATOMIC_TIMEDWAIT: return "timed wait";
case ATOMIC_NOTIFY_ONE: return "notify one";
case ATOMIC_NOTIFY_ALL: return "notify all";
case ATOMIC_ANNOTATION: return "annotation";