From: Brian Norris Date: Mon, 1 Oct 2012 20:29:54 +0000 (-0700) Subject: model: utilize bad_synchronization flag X-Git-Url: http://plrg.eecs.uci.edu/git/?p=c11tester.git;a=commitdiff_plain;h=d6def735e3fb70267ca802f3b1909e7ace6e4507 model: utilize bad_synchronization flag --- diff --git a/action.cc b/action.cc index 54ecce7d..c744c65f 100644 --- a/action.cc +++ b/action.cc @@ -228,7 +228,8 @@ void ModelAction::read_from(const ModelAction *act) rel_heads_list_t release_heads; model->get_release_seq_heads(this, &release_heads); for (unsigned int i = 0; i < release_heads.size(); i++) - synchronize_with(release_heads[i]); + if (!synchronize_with(release_heads[i])) + model->set_bad_synchronization(); } } diff --git a/model.cc b/model.cc index 9d2dbb61..47c6cdb9 100644 --- a/model.cc +++ b/model.cc @@ -1280,8 +1280,10 @@ bool ModelChecker::resolve_release_sequences(void *location, work_queue_t *work_ complete = release_seq_head(rf, &release_heads); for (unsigned int i = 0; i < release_heads.size(); i++) { if (!act->has_synchronized_with(release_heads[i])) { - updated = true; - act->synchronize_with(release_heads[i]); + if (act->synchronize_with(release_heads[i])) + updated = true; + else + set_bad_synchronization(); } }