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/386.c | 62 ----------------------------------------------------- 1 file changed, 62 deletions(-) delete mode 100644 src/libthread/386.c (limited to 'src/libthread/386.c') diff --git a/src/libthread/386.c b/src/libthread/386.c deleted file mode 100644 index 313c2be5..00000000 --- a/src/libthread/386.c +++ /dev/null @@ -1,62 +0,0 @@ -#if defined(__linux__) -#include "ucontext.c" -#else - -#include "threadimpl.h" -/* - * To use this you need some patches to Valgrind that - * let it help out with detecting stack overflow. - */ -#ifdef USEVALGRIND -#include -#endif - -static void -launcher386(void (*f)(void *arg), void *arg) -{ - Proc *p; - Thread *t; - - p = _threadgetproc(); - t = p->thread; - _threadstacklimit(t->stk, t->stk+t->stksize); - - (*f)(arg); - threadexits(nil); -} - -void -_threadinitstack(Thread *t, void (*f)(void*), void *arg) -{ - ulong *tos; - - tos = (ulong*)&t->stk[t->stksize&~7]; - *--tos = (ulong)arg; - *--tos = (ulong)f; - t->sched.pc = (ulong)launcher386; - t->sched.sp = (ulong)tos - 8; /* old PC and new PC */ -} - -void -_threadinswitch(int enter) -{ - USED(enter); -#ifdef USEVALGRIND - if(enter) - VALGRIND_SET_STACK_LIMIT(0, 0, 0); - else - VALGRIND_SET_STACK_LIMIT(0, 0, 1); -#endif -} - -void -_threadstacklimit(void *bottom, void *top) -{ - USED(bottom); - USED(top); - -#ifdef USEVALGRIND - VALGRIND_SET_STACK_LIMIT(1, bottom, top); -#endif -} -#endif -- cgit v1.2.3