X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=action.cc;h=a90878f73d9edc34148359f127df6886d4574cd8;hb=dcf7f575967bec560d500cc4f52e35c21671525c;hp=5ecc1f0e1b26f069650a47e139858eef68e05595;hpb=9bbf98ac065e34fc1c35538328d02d51e74ccc0f;p=model-checker.git diff --git a/action.cc b/action.cc index 5ecc1f0..a90878f 100644 --- a/action.cc +++ b/action.cc @@ -70,6 +70,11 @@ void ModelAction::set_seq_number(modelclock_t num) seq_number = num; } +bool ModelAction::is_thread_start() const +{ + return type == THREAD_START; +} + bool ModelAction::is_relseq_fixup() const { return type == MODEL_FIXUP_RELSEQ; @@ -337,24 +342,10 @@ void ModelAction::set_try_lock(bool obtainedlock) { /** * Update the model action's read_from action * @param act The action to read from; should be a write - * @return True if this read established synchronization */ -bool ModelAction::read_from(const ModelAction *act) +void ModelAction::set_read_from(const ModelAction *act) { - ASSERT(cv); reads_from = act; - if (act != NULL && this->is_acquire()) { - rel_heads_list_t release_heads; - model->get_release_seq_heads(this, &release_heads); - int num_heads = release_heads.size(); - for (unsigned int i = 0; i < release_heads.size(); i++) - if (!synchronize_with(release_heads[i])) { - model->set_bad_synchronization(); - num_heads--; - } - return num_heads > 0; - } - return false; } /**