model: add const qualifier to get_thread()
[model-checker.git] / action.cc
index 383be230aaea3f4b505266688fde98ce7a6a8640..c5912ff2ef51d5ac5dd0371f96caf7519a5dd2a0 100644 (file)
--- a/action.cc
+++ b/action.cc
@@ -7,6 +7,7 @@
 #include "action.h"
 #include "clockvector.h"
 #include "common.h"
+#include "threads.h"
 
 #define ACTION_INITIAL_CLOCK 0
 
@@ -23,10 +24,19 @@ ModelAction::ModelAction(action_type_t type, memory_order order, void *loc, uint
        this->tid = t->get_id();
 }
 
+/** @brief ModelAction destructor */
 ModelAction::~ModelAction()
 {
-       if (cv)
-               delete cv;
+       /**
+        * We can't free the clock vector:
+        * Clock vectors are snapshotting state. When we delete model actions,
+        * they are at the end of the node list and have invalid old clock
+        * vectors which have already been rolled back to an unallocated state.
+        */
+
+       /*
+        if (cv)
+               delete cv; */
 }
 
 void ModelAction::copy_from_new(ModelAction *newaction)