X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=threads.cc;h=e22ffa3221f83ae1f95abb5b7b6c63da04c72183;hb=251ac4b4bf3a9f2d3cfacc1e6618200ca1c431ac;hp=f83433bc1a0da8696fd3f0d8497f76fcc1943c81;hpb=7d107019dd0d32d0803fb802fc318a57101707a1;p=c11tester.git diff --git a/threads.cc b/threads.cc index f83433bc..e22ffa32 100644 --- a/threads.cc +++ b/threads.cc @@ -508,13 +508,15 @@ Thread * Thread::waiting_on() const if (!pending) return NULL; - if (pending->get_type() == THREAD_JOIN) - return pending->get_thread_operand(); - else if (pending->get_type() == PTHREAD_JOIN) - return pending->get_thread_operand(); - else if (pending->is_lock()) - return (Thread *)pending->get_mutex()->get_state()->locked; - return NULL; + switch (pending->get_type()) { + case THREAD_JOIN: + case PTHREAD_JOIN: + return pending->get_thread_operand(); + case ATOMIC_LOCK: + return (Thread *)pending->get_mutex()->get_state()->locked; + default: + return NULL; + } } /**