From 24f4e66b12cf0501d0f239ade10b2963f46e6755 Mon Sep 17 00:00:00 2001 From: rsc Date: Mon, 8 Nov 2004 16:04:01 +0000 Subject: still more files --- src/libthread/setproc.c | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 src/libthread/setproc.c (limited to 'src/libthread/setproc.c') diff --git a/src/libthread/setproc.c b/src/libthread/setproc.c new file mode 100644 index 00000000..5f1e2a8d --- /dev/null +++ b/src/libthread/setproc.c @@ -0,0 +1,36 @@ +/* + * Avoid using threading calls for single-proc programs. + */ + +#include "threadimpl.h" + +static int multi; +static Proc *theproc; + +void +_threadsetproc(Proc *p) +{ + if(!multi) + theproc = p; + else + _kthreadsetproc(p); +} + +Proc* +_threadgetproc(void) +{ + if(!multi) + return theproc; + return _kthreadgetproc(); +} + +void +_threadmultiproc(void) +{ + if(multi) + return; + + multi = 1; + _kthreadinit(); + _threadsetproc(theproc); +} -- cgit v1.2.3