-/* -*- Mode: C; indent-tabs-mode: t -*- */
-
#include "libthreads.h"
#include "common.h"
#include "threads.h"
static void * stack_allocate(size_t size)
{
- return userMalloc(size);
+ return malloc(size);
}
static void stack_free(void *stack)
{
- userFree(stack);
+ free(stack);
}
Thread * thread_current(void)
/* This method just gets around makecontext not being 64-bit clean */
void thread_startup() {
- Thread * curr_thread=thread_current();
+ Thread * curr_thread = thread_current();
curr_thread->start_routine(curr_thread->arg);
}
context.uc_stack.ss_size = STACK_SIZE;
context.uc_stack.ss_flags = 0;
context.uc_link = model->get_system_context();
- makecontext(&context, start_routine, 1);
+ makecontext(&context, thread_startup, 0);
return 0;
}
}
}
-Thread::Thread(thrd_t *t, void (*func)(), void *a) {
+Thread::Thread(thrd_t *t, void (*func)(void *), void *a) {
int ret;
user_thread = t;