diff options
Diffstat (limited to 'src/lib9/ffork-pthread.c')
-rw-r--r-- | src/lib9/ffork-pthread.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/lib9/ffork-pthread.c b/src/lib9/ffork-pthread.c new file mode 100644 index 00000000..189ac94f --- /dev/null +++ b/src/lib9/ffork-pthread.c @@ -0,0 +1,26 @@ +#include <lib9.h> +#include <pthread.h> + +extern int __isthreaded; +int +ffork(int flags, void(*fn)(void*), void *arg) +{ + void *p; + pthread_t tid; + + if(flags != (RFMEM|RFNOWAIT)){ + werrstr("ffork unsupported"); + return -1; + } + + if(pthread_create(&tid, NULL, (void*(*)(void*))fn, arg) < 0) + return -1; + return (int)tid; +} + +int +getfforkid(void) +{ + return (int)pthread_self(); +} + |