Blob


1 #define NOPLAN9DEFINES
2 #include <u.h>
3 #include <libc.h>
4 #include <pthread.h>
5 #include "9proc.h"
7 extern int __isthreaded;
8 int
9 ffork(int flags, void(*fn)(void*), void *arg)
10 {
11 pthread_t tid;
13 if(flags != (RFMEM|RFNOWAIT)){
14 werrstr("ffork unsupported");
15 return -1;
16 }
18 _p9uproc(0);
19 if(pthread_create(&tid, NULL, (void*(*)(void*))fn, arg) < 0)
20 return -1;
21 if((int)tid == 0)
22 _p9uproc(0);
23 return (int)tid;
24 }
26 int
27 getfforkid(void)
28 {
29 return (int)pthread_self();
30 }