bug fixes
[c11tester.git] / action.h
index 9486c9df7b39a4835ed345133b64fa73467c223b..66e119066cc88c80d26c49448750644f1f882106 100644 (file)
--- a/action.h
+++ b/action.h
@@ -77,6 +77,8 @@ typedef enum action_type {
        ATOMIC_WAIT,    // < A wait action
        ATOMIC_TIMEDWAIT,       // < A timed wait action
        ATOMIC_ANNOTATION,      // < An annotation action to pass information to a trace analysis
+       READY_FREE,     // < Write is ready to be freed
+       ATOMIC_NOP      // < Placeholder
 } action_type_t;
 
 
@@ -100,6 +102,8 @@ public:
 
        thread_id_t get_tid() const { return tid; }
        action_type get_type() const { return type; }
+       void set_type(action_type _type) { type = _type; }
+       void set_free() { type = READY_FREE; }
        memory_order get_mo() const { return order; }
        memory_order get_original_mo() const { return original_order; }
        void set_mo(memory_order order) { this->order = order; }
@@ -134,6 +138,7 @@ public:
        bool is_trylock() const;
        bool is_unlock() const;
        bool is_wait() const;
+       bool is_create() const;
        bool is_notify() const;
        bool is_notify_one() const;
        bool is_success_lock() const;
@@ -141,6 +146,7 @@ public:
        bool is_atomic_var() const;
        bool is_read() const;
        bool is_write() const;
+       bool is_free() const;
        bool is_yield() const;
        bool could_be_write() const;
        bool is_rmwr() const;