model: do not assume THREAD_FINISH is always the last action
[model-checker.git] / action.cc
index a4959aed90bf868c0ca542ea67c2e8ba75204b42..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,17 +24,19 @@ ModelAction::ModelAction(action_type_t type, memory_order order, void *loc, uint
        this->tid = t->get_id();
 }
 
+/** @brief ModelAction destructor */
 ModelAction::~ModelAction()
 {
-       /** We can't free the clock vector:
-        *  The reason is as follows:
-        *  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...
-        *  They are already free at that point...
+       /**
+        * 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;*/
+
+       /*
+        if (cv)
+               delete cv; */
 }
 
 void ModelAction::copy_from_new(ModelAction *newaction)