diff --git a/cpu/native/mtarch.c b/cpu/native/mtarch.c index 03a47f8e1..3da8ba92b 100644 --- a/cpu/native/mtarch.c +++ b/cpu/native/mtarch.c @@ -30,7 +30,7 @@ * * Author: Oliver Schmidt * - * $Id: mtarch.c,v 1.1 2007/04/03 00:40:51 oliverschmidt Exp $ + * $Id: mtarch.c,v 1.2 2007/04/03 18:37:15 oliverschmidt Exp $ */ #ifdef __CYGWIN__ @@ -92,13 +92,13 @@ mtarch_start(struct mtarch_thread *thread, thread->mt_thread = malloc(sizeof(struct mtarch_t)); - getcontext(&((struct mtarch_t *)&thread->mt_thread)->context); + getcontext(&((struct mtarch_t *)thread->mt_thread)->context); - ((struct mtarch_t *)&thread->mt_thread)->context.uc_link = NULL; - ((struct mtarch_t *)&thread->mt_thread)->context.uc_stack.ss_sp = - ((struct mtarch_t *)&thread->mt_thread)->stack; - ((struct mtarch_t *)&thread->mt_thread)->context.uc_stack.ss_size = - sizeof(((struct mtarch_t *)&thread->mt_thread)->stack); + ((struct mtarch_t *)thread->mt_thread)->context.uc_link = NULL; + ((struct mtarch_t *)thread->mt_thread)->context.uc_stack.ss_sp = + ((struct mtarch_t *)thread->mt_thread)->stack; + ((struct mtarch_t *)thread->mt_thread)->context.uc_stack.ss_size = + sizeof(((struct mtarch_t *)thread->mt_thread)->stack); /* Some notes: - If a CPU needs stronger alignment for the stack than malloc() @@ -115,7 +115,7 @@ mtarch_start(struct mtarch_thread *thread, the only way to stay independent from the CPU architecture. But Solaris prior to release 10 interprets ss_sp as highest stack address thus requiring special handling. */ - makecontext(&((struct mtarch_t *)&thread->mt_thread)->context, + makecontext(&((struct mtarch_t *)thread->mt_thread)->context, (void (*)(void))function, 1, data); #endif /* __CYGWIN__ */ @@ -144,7 +144,7 @@ mtarch_exec(struct mtarch_thread *thread) #else /* __CYGWIN__ */ - running_context = &((struct mtarch_t *)&thread->mt_thread)->context; + running_context = &((struct mtarch_t *)thread->mt_thread)->context; swapcontext(&main_context, running_context); running_context = NULL;