X-Git-Url: http://demsky.eecs.uci.edu/git/?a=blobdiff_plain;f=action.h;h=61c7c4cb9f7b5c7ffc15d270792ad856cdfe80e8;hb=262fab229626c8504297467fc7b5a04f60b7c530;hp=1b03bc48943f5b24183c61cd372346a8f8a9b752;hpb=c1db87fb3d52c93feb22496fe1e8513e35320c3d;p=model-checker.git diff --git a/action.h b/action.h index 1b03bc4..61c7c4c 100644 --- a/action.h +++ b/action.h @@ -5,7 +5,6 @@ #ifndef __ACTION_H__ #define __ACTION_H__ -#include #include #include @@ -17,6 +16,10 @@ class ClockVector; class Thread; class Promise; +namespace std { + class mutex; +} + using std::memory_order; using std::memory_order_relaxed; using std::memory_order_acquire; @@ -85,6 +88,7 @@ public: uint64_t get_return_value() const; const ModelAction * get_reads_from() const { return reads_from; } Promise * get_reads_from_promise() const { return reads_from_promise; } + std::mutex * get_mutex() const; Node * get_node() const; void set_node(Node *n) { node = n; } @@ -116,6 +120,7 @@ public: bool is_uninitialized() const; bool is_read() const; bool is_write() const; + bool is_yield() const; bool could_be_write() const; bool is_rmwr() const; bool is_rmwc() const;