model: refactor/reword initialize_curr_action()
[c11tester.git] / model.cc
index c4bc693ef5560f646684b3a2cb002e685f4be848..9dc1d37c71bb6ac93844d057efd7928818d7e053 100644 (file)
--- a/model.cc
+++ b/model.cc
@@ -543,16 +543,19 @@ ModelAction * ModelChecker::initialize_curr_action(ModelAction *curr)
                /* Discard duplicate ModelAction; use action from NodeStack */
                delete curr;
 
+               /* Always compute new clock vector */
                newcurr->create_cv(get_parent_action(newcurr->get_tid()));
        } else {
                newcurr = curr;
+
+               /* Always compute new clock vector */
+               newcurr->create_cv(get_parent_action(newcurr->get_tid()));
                /*
                 * Perform one-time actions when pushing new ModelAction onto
                 * NodeStack
                 */
-               curr->create_cv(get_parent_action(curr->get_tid()));
-               if (curr->is_write())
-                       compute_promises(curr);
+               if (newcurr->is_write())
+                       compute_promises(newcurr);
        }
        return newcurr;
 }