add a new thread constructor for pthread
[c11tester.git] / threads-model.h
index ef2c9e10433559c519d1d6062963e2dd6b342f91..11f2d547233119dc165d86eb62f0de8a5f438df5 100644 (file)
@@ -5,13 +5,13 @@
 #ifndef __THREADS_MODEL_H__
 #define __THREADS_MODEL_H__
 
-#include <ucontext.h>
 #include <stdint.h>
 
 #include "mymemory.h"
 #include <threads.h>
 #include "modeltypes.h"
 #include "stl-model.h"
+#include "context.h"
 
 struct thread_params {
        thrd_start_t func;
@@ -41,7 +41,8 @@ class ModelAction;
 class Thread {
 public:
        Thread(thread_id_t tid);
-       Thread(thrd_t *t, void (*func)(void *), void *a, Thread *parent);
+       Thread(thread_id_t tid, thrd_t *t, void (*func)(void *), void *a, Thread *parent);
+       Thread(thread_id_t tid, thrd_t *t, void *(*func)(void *), void *a, Thread *parent);
        ~Thread();
        void complete();
 
@@ -131,6 +132,7 @@ private:
        ModelAction *pending;
 
        void (*start_routine)(void *);
+       void *(*pstart_routine)(void *);
        void *arg;
        ucontext_t context;
        void *stack;