Blob
1 #define NOPLAN9DEFINES2 #include <u.h>3 #include <libc.h>4 #include <pthread.h>5 #include "9proc.h"7 extern int __isthreaded;8 int9 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 int27 getfforkid(void)28 {29 return (int)pthread_self();30 }