#define NOPLAN9DEFINES | |
#include <u.h> | |
#include <libc.h> | |
#include <pthread.h> | |
#include "9proc.h" | |
extern int __isthreaded; | |
int | |
ffork(int flags, void(*fn)(void*), void *arg) | |
{ | |
pthread_t tid; | |
if(flags != (RFMEM|RFNOWAIT)){ | |
werrstr("ffork unsupported"); | |
return -1; | |
} | |
_p9uproc(0); | |
if(pthread_create(&tid, NULL, (void*(*)(void*))fn, arg) < 0) | |
return -1; | |
if((int)tid == 0) | |
_p9uproc(0); | |
return (int)tid; | |
} | |
int | |
getfforkid(void) | |
{ | |
return (int)pthread_self(); | |
} | |