diff options
Diffstat (limited to 'src/lib9/ffork-Linux.c')
-rw-r--r-- | src/lib9/ffork-Linux.c | 35 |
1 files changed, 4 insertions, 31 deletions
diff --git a/src/lib9/ffork-Linux.c b/src/lib9/ffork-Linux.c index 5dbd75cf..b433ec4a 100644 --- a/src/lib9/ffork-Linux.c +++ b/src/lib9/ffork-Linux.c @@ -1,32 +1,5 @@ -#define ffork ffork_clone -#define getfforkid getfforkid_clone -#include "ffork-Linux-clone.c" -#undef ffork -#undef getfforkid - -#define ffork ffork_pthread -#define getfforkid getfforkid_pthread +#ifdef __Linux26__ #include "ffork-pthread.c" -#undef ffork -#undef getfforkid - -extern int _islinuxnptl(void); - -int -ffork(int flags, void (*fn)(void*), void *arg) -{ - if(_islinuxnptl()) - return ffork_pthread(flags, fn, arg); - else - return ffork_clone(flags, fn, arg); -} - -int -getfforkid(void) -{ - if(_islinuxnptl()) - return getfforkid_pthread(); - else - return getfforkid_clone(); -} - +#else +#include "ffork-Linux-clone.c" +#endif |