threads: construct Thread only with a given "parent"
[c11tester.git] / model.cc
index 7fdc824669588e216017846490751e14d69337eb..436c337d3932f4d45a7d13ee0e8fe674d1a0ea9a 100644 (file)
--- a/model.cc
+++ b/model.cc
@@ -1113,7 +1113,7 @@ bool ModelChecker::process_thread_action(ModelAction *curr)
        case THREAD_CREATE: {
                thrd_t *thrd = (thrd_t *)curr->get_location();
                struct thread_params *params = (struct thread_params *)curr->get_value();
        case THREAD_CREATE: {
                thrd_t *thrd = (thrd_t *)curr->get_location();
                struct thread_params *params = (struct thread_params *)curr->get_value();
-               Thread *th = new Thread(thrd, params->func, params->arg);
+               Thread *th = new Thread(thrd, params->func, params->arg, get_thread(curr));
                add_thread(th);
                th->set_creation(curr);
                /* Promises can be satisfied by children */
                add_thread(th);
                th->set_creation(curr);
                /* Promises can be satisfied by children */
@@ -2890,7 +2890,7 @@ void ModelChecker::run()
 {
        do {
                thrd_t user_thread;
 {
        do {
                thrd_t user_thread;
-               Thread *t = new Thread(&user_thread, &user_main_wrapper, NULL);
+               Thread *t = new Thread(&user_thread, &user_main_wrapper, NULL, NULL);
                add_thread(t);
 
                do {
                add_thread(t);
 
                do {