+/** @file threads.cc
+ * @brief Thread functions.
+ */
+
+
#include "libthreads.h"
#include "common.h"
#include "threads.h"
* Provides a startup wrapper for each thread, allowing some initial
* model-checking data to be recorded. This method also gets around makecontext
* not being 64-bit clean
+ * @todo We should make the START event always immediately follow the
+ * CREATE event, so we don't get redundant traces...
*/
+
void thread_startup() {
Thread * curr_thread = thread_current();
/* Add dummy "start" action, just to create a first clock vector */
- model->switch_to_master(new ModelAction(THREAD_START, memory_order_seq_cst, curr_thread));
+ model->switch_to_master(new ModelAction(THREAD_START, std::memory_order_seq_cst, curr_thread));
/* Call the actual thread function */
curr_thread->start_routine(curr_thread->arg);