return type == THREAD_START;
}
+bool ModelAction::is_thread_join() const
+{
+ return type == THREAD_JOIN;
+}
+
bool ModelAction::is_relseq_fixup() const
{
return type == MODEL_FIXUP_RELSEQ;
void set_seq_number(modelclock_t num);
void set_try_lock(bool obtainedlock);
bool is_thread_start() const;
+ bool is_thread_join() const;
bool is_relseq_fixup() const;
bool is_mutex_op() const;
bool is_lock() const;
get_safe_ptr_action(lock_waiters_map, curr->get_location())->push_back(curr);
return false;
}
- } else if (curr->get_type() == THREAD_JOIN) {
+ } else if (curr->is_thread_join()) {
Thread *blocking = (Thread *)curr->get_location();
if (!blocking->is_complete()) {
blocking->push_wait_list(curr);