1234567891011121314151617181920 |
- diff --git a/nptl/sysdeps/unix/sysv/linux/x86_64/fork.c b/nptl/sysdeps/unix/sysv/linux/x86_64/fork.c
- index a036b92..40a1eaf 100644
- --- a/nptl/sysdeps/unix/sysv/linux/x86_64/fork.c
- +++ b/nptl/sysdeps/unix/sysv/linux/x86_64/fork.c
- @@ -21,9 +21,12 @@
- #include <sysdep.h>
- #include <tls.h>
-
- #define ARCH_FORK() \
- - INLINE_SYSCALL (clone, 4, \
- - CLONE_CHILD_SETTID | CLONE_CHILD_CLEARTID | SIGCHLD, 0, \
- - NULL, &THREAD_SELF->tid)
- + ({ unsigned long ret = INLINE_SYSCALL (fork, 0); \
- + if (!ret) { \
- + pid_t pid = INLINE_SYSCALL (getpid, 0); \
- + THREAD_SETMEM (THREAD_SELF, pid, pid); \
- + THREAD_SETMEM (THREAD_SELF, tid, pid); \
- + } ret; })
-
- #include "../fork.c"
|