From: Brian Norris Date: Wed, 19 Sep 2012 01:37:22 +0000 (-0700) Subject: action: THREAD_JOIN can synchronize against execution order X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=ca6361d9a70f1336c65956f049167135c2a417a8;p=cdsspec-compiler.git action: THREAD_JOIN can synchronize against execution order synchronize_with() had an assertion to ensure that synchronization never occurred opposite the execution trace ordering. But THREAD_JOIN is a special case, where this ordering won't break the rest of the model-checker. --- diff --git a/action.cc b/action.cc index 1e28264..2021f0a 100644 --- a/action.cc +++ b/action.cc @@ -186,7 +186,7 @@ void ModelAction::read_from(const ModelAction *act) * @param act The ModelAction to synchronize with */ void ModelAction::synchronize_with(const ModelAction *act) { - ASSERT(*act < *this); + ASSERT(*act < *this || type == THREAD_JOIN); model->check_promises(cv, act->cv); cv->merge(act->cv); }