diff options
| author | rsc <devnull@localhost> | 2003-10-01 02:53:00 +0000 |
|---|---|---|
| committer | rsc <devnull@localhost> | 2003-10-01 02:53:00 +0000 |
| commit | a46395ecf932ea4e91ad047e92d1c70395e15673 (patch) | |
| tree | f6f6d26edf773119b7e8e12d1b225c556c30bda5 /src/lib9/ffork-Darwin.c | |
| parent | a995e477ffb4dd1184da87e9e46a9e57f3178c63 (diff) | |
| download | plan9port-a46395ecf932ea4e91ad047e92d1c70395e15673.tar.gz plan9port-a46395ecf932ea4e91ad047e92d1c70395e15673.zip | |
More Darwin.
Diffstat (limited to 'src/lib9/ffork-Darwin.c')
| -rw-r--r-- | src/lib9/ffork-Darwin.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/lib9/ffork-Darwin.c b/src/lib9/ffork-Darwin.c new file mode 100644 index 00000000..189ac94f --- /dev/null +++ b/src/lib9/ffork-Darwin.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(); +} + |
