From 1544f90960275dc9211bde30329c3258e0e1bf38 Mon Sep 17 00:00:00 2001 From: rsc Date: Sat, 25 Dec 2004 21:56:33 +0000 Subject: New thread library --- src/libthread/ucontext.c | 49 ------------------------------------------------ 1 file changed, 49 deletions(-) delete mode 100644 src/libthread/ucontext.c (limited to 'src/libthread/ucontext.c') diff --git a/src/libthread/ucontext.c b/src/libthread/ucontext.c deleted file mode 100644 index 98e92ccf..00000000 --- a/src/libthread/ucontext.c +++ /dev/null @@ -1,49 +0,0 @@ -#include "threadimpl.h" - -static void -launcher(void (*f)(void*), void *arg) -{ - f(arg); - threadexits(nil); -} - -void -_threadinitstack(Thread *t, void (*f)(void*), void *arg) -{ - sigset_t zero; - - /* do a reasonable initialization */ - memset(&t->context.uc, 0, sizeof t->context.uc); - sigemptyset(&zero); - sigprocmask(SIG_BLOCK, &zero, &t->context.uc.uc_sigmask); - - /* call getcontext, because on Linux makecontext neglects floating point */ - getcontext(&t->context.uc); - - /* call makecontext to do the real work. */ - /* leave a few words open on both ends */ - t->context.uc.uc_stack.ss_sp = t->stk+8; - t->context.uc.uc_stack.ss_size = t->stksize-16; - makecontext(&t->context.uc, (void(*)())launcher, 2, f, arg); -} - -void -_threadinswitch(int enter) -{ - USED(enter); -} - -void -_threadstacklimit(void *bottom, void *top) -{ - USED(bottom); - USED(top); -} - -void -_swaplabel(Label *old, Label *new) -{ - if(swapcontext(&old->uc, &new->uc) < 0) - sysfatal("swapcontext: %r"); -} - -- cgit v1.2.3