diff options
Diffstat (limited to 'src/lib9/ffork-FreeBSD.c')
-rw-r--r-- | src/lib9/ffork-FreeBSD.c | 45 |
1 files changed, 0 insertions, 45 deletions
diff --git a/src/lib9/ffork-FreeBSD.c b/src/lib9/ffork-FreeBSD.c deleted file mode 100644 index 476ce7ab..00000000 --- a/src/lib9/ffork-FreeBSD.c +++ /dev/null @@ -1,45 +0,0 @@ -#include <lib9.h> -#include "9proc.h" - -extern int __isthreaded; -int -ffork(int flags, void(*fn)(void*), void *arg) -{ - int pid; - void *p; - - _p9uproc(0); - __isthreaded = 1; - p = malloc(16384); - if(p == nil) - return -1; - memset(p, 0xFE, 16384); - pid = rfork_thread(RFPROC|flags, (char*)p+16000, (int(*)(void*))fn, arg); - if(pid == 0) - _p9uproc(0); - return pid; -} - -/* - * For FreeBSD libc. - */ - -typedef struct { - volatile long access_lock; - volatile long lock_owner; - volatile char *fname; - volatile int lineno; -} spinlock_t; - -void -_spinlock(spinlock_t *lk) -{ - lock((Lock*)&lk->access_lock); -} - -int -getfforkid(void) -{ - return getpid(); -} - |