/** @brief Represents an action type, identifying one of several types of
* ModelAction */
typedef enum action_type {
- MODEL_FIXUP_RELSEQ, /**< Special ModelAction: finalize a release
- * sequence */
THREAD_CREATE, /**< A thread creation action */
THREAD_START, /**< First action in each thread */
THREAD_YIELD, /**< A thread yield action */
void set_try_lock(bool obtainedlock);
bool is_thread_start() const;
bool is_thread_join() const;
- bool is_relseq_fixup() const;
bool is_mutex_op() const;
bool is_lock() const;
bool is_trylock() const;
void process_rmw(ModelAction * act);
void copy_typeandorder(ModelAction * act);
- void set_sleep_flag() { sleep_flag=true; }
- bool get_sleep_flag() { return sleep_flag; }
unsigned int hash() const;
bool equals(const ModelAction *x) const { return this == x; }
- bool may_read_from(const ModelAction *write) const;
MEMALLOC
void set_value(uint64_t val) { value = val; }
* vectors for all operations.
*/
ClockVector *cv;
-
- bool sleep_flag;
};
#endif /* __ACTION_H__ */