THREAD_JOIN, // < A thread join action
THREAD_FINISH, // < A thread completion action
THREADONLY_FINISH, // < A thread completion action
+ THREAD_SLEEP, // < A sleep operation
+
PTHREAD_CREATE, // < A pthread creation action
PTHREAD_JOIN, // < A pthread join action
- THREAD_SLEEP, // < A sleep operation
+
ATOMIC_UNINIT, // < Represents an uninitialized atomic
NONATOMIC_WRITE, // < Represents a non-atomic store
ATOMIC_INIT, // < Initialization of an atomic object (e.g., atomic_init())
ATOMIC_LOCK, // < A lock action
ATOMIC_TRYLOCK, // < A trylock action
ATOMIC_UNLOCK, // < An unlock action
+
ATOMIC_NOTIFY_ONE, // < A notify_one action
ATOMIC_NOTIFY_ALL, // < A notify all action
ATOMIC_WAIT, // < A wait action
+ ATOMIC_TIMEDWAIT, // < A timed wait action
ATOMIC_ANNOTATION, // < An annotation action to pass information to a trace analysis
- NOOP // no operation, which returns control to scheduler
} action_type_t;
void copy_from_new(ModelAction *newaction);
void set_seq_number(modelclock_t num);
+ void reset_seq_number();
void set_try_lock(bool obtainedlock);
bool is_thread_start() const;
bool is_thread_join() const;