static int swap(ucontext_t *ctxt, Thread *t);
static int swap(Thread *t, ucontext_t *ctxt);
+ static int swap(Thread *t, Thread *t2);
thread_state get_state() const { return state; }
void set_state(thread_state s);
ucontext_t context;
void *stack;
#ifdef TLS
+ void * helper_stack;
public:
char *tls;
ucontext_t helpercontext;
#ifdef TLS
uintptr_t get_tls_addr();
+void tlsdestructor(void *v);
#endif
Thread * thread_current();
void thread_startup();
-void main_thread_startup();
+void initMainThread();
static inline thread_id_t thrd_to_id(thrd_t t)
{