X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=action.h;h=3e590aae7f34a115cefb9fafed941a91d3bc5f92;hb=d4b8c4bcfb145de476c9473d80653a8849f295ed;hp=7c457076501f77f93550da6fe629e2e625a0f2cb;hpb=5e4a7d161cba81152ddcf295ee72fbb25ba3afaa;p=model-checker.git diff --git a/action.h b/action.h index 7c45707..3e590aa 100644 --- a/action.h +++ b/action.h @@ -32,6 +32,7 @@ typedef enum action_type { THREAD_START, /**< First action in each thread */ THREAD_YIELD, /**< A thread yield action */ THREAD_JOIN, /**< A thread join action */ + THREAD_FINISH, /**< A thread completion action */ ATOMIC_READ, /**< An atomic read action */ ATOMIC_WRITE, /**< An atomic write action */ ATOMIC_RMWR, /**< The read part of an atomic RMW action */ @@ -81,9 +82,9 @@ public: void create_cv(const ModelAction *parent = NULL); ClockVector * get_cv() const { return cv; } void read_from(const ModelAction *act); - void synchronized(const ModelAction *act); - + void synchronize_with(const ModelAction *act); + bool has_synchronized_with(const ModelAction *act) const; bool happens_before(const ModelAction *act) const; inline bool operator <(const ModelAction& act) const {