From: Brian Norris Date: Wed, 18 Apr 2012 19:36:58 +0000 (-0700) Subject: libthreads: only record 'final' even for thrd_join X-Git-Tag: pldi2013~546 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=acc524bb1a039c2230f5588e27c9b0da5666d801;p=model-checker.git libthreads: only record 'final' even for thrd_join --- diff --git a/libthreads.cc b/libthreads.cc index a43505e..86a95e6 100644 --- a/libthreads.cc +++ b/libthreads.cc @@ -22,8 +22,9 @@ int thrd_join(thrd_t t) int ret = 0; Thread *th = model->get_thread(thrd_to_id(t)); while (th->get_state() != THREAD_COMPLETED && !ret) - /* seq_cst is just a 'don't care' parameter */ - ret = model->switch_to_master(new ModelAction(THREAD_JOIN, memory_order_seq_cst, NULL, VALUE_NONE)); + ret = model->switch_to_master(NULL); + /* seq_cst is just a 'don't care' parameter */ + ret = model->switch_to_master(new ModelAction(THREAD_JOIN, memory_order_seq_cst, NULL, VALUE_NONE)); return ret; }