diff options
| author | rsc <devnull@localhost> | 2003-11-23 18:12:54 +0000 |
|---|---|---|
| committer | rsc <devnull@localhost> | 2003-11-23 18:12:54 +0000 |
| commit | fd04aacee17b348da206c13a550dc1029669805f (patch) | |
| tree | 9bdd35a25ff6e3d6e9a0171b06240a76723f922c /src/lib9/ffork-pthread.c | |
| parent | 74f990ad84deb1591ddb91be4fc8152ec0c46222 (diff) | |
| download | plan9port-fd04aacee17b348da206c13a550dc1029669805f.tar.gz plan9port-fd04aacee17b348da206c13a550dc1029669805f.zip | |
Various additions and fixes.
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(); +} + |
