#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;
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();
ModelAction *pending;
void (*start_routine)(void *);
+ void *(*pstart_routine)(void *);
void *arg;
ucontext_t context;
void *stack;