projects
/
model-checker.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
snapshot: switch back to mprotect-based snapshotting
[model-checker.git]
/
libthreads.cc
diff --git
a/libthreads.cc
b/libthreads.cc
index 73a948cc4a493a7fa4b3c1bea65af8653c6ebc17..a414686dccb713116bad22a1e6126f590b72cc7b 100644
(file)
--- a/
libthreads.cc
+++ b/
libthreads.cc
@@
-8,12
+8,16
@@
/*
* User program API functions
*/
/*
* User program API functions
*/
-int thrd_create(thrd_t *t,
void (*start_routine)()
, void *arg)
+int thrd_create(thrd_t *t,
thrd_start_t start_routine
, void *arg)
{
{
+ Thread *thread;
int ret;
DBG();
int ret;
DBG();
- ret = model->add_thread(new Thread(t, start_routine, arg));
+ thread = new Thread(t, start_routine, arg);
+ ret = model->add_thread(thread);
DEBUG("create thread %d\n", id_to_int(thrd_to_id(*t)));
DEBUG("create thread %d\n", id_to_int(thrd_to_id(*t)));
+ /* seq_cst is just a 'don't care' parameter */
+ model->switch_to_master(new ModelAction(THREAD_CREATE, memory_order_seq_cst, thread, VALUE_NONE));
return ret;
}
return ret;
}