okay...known bugs for my trivial test are out of send future values backwards
[model-checker.git] / action.cc
index 33dbe75b22c7c3daf8f25f0b51f4a077d652e682..6a8dc60ba1f9bb3105ea1b2a8fab26af4e4a0025 100644 (file)
--- a/action.cc
+++ b/action.cc
@@ -152,7 +152,8 @@ bool ModelAction::is_synchronizing(const ModelAction *act) const
 
 void ModelAction::create_cv(const ModelAction *parent)
 {
-       ASSERT(cv == NULL);
+       if (cv)
+               delete cv;
 
        if (parent)
                cv = new ClockVector(parent->cv, this);
@@ -165,7 +166,7 @@ void ModelAction::create_cv(const ModelAction *parent)
 void ModelAction::read_from(const ModelAction *act)
 {
        ASSERT(cv);
-       if (act->is_release() && this->is_acquire()) {
+       if (act!=NULL && act->is_release() && this->is_acquire()) {
                synchronized(act);
                cv->merge(act->cv);
        }