From: Rich Felker Date: Tue, 12 Apr 2011 21:52:14 +0000 (-0400) Subject: speed up threaded fork X-Git-Tag: v0.7.8~5 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=e2915eeeea244d3818d5eb7532ed35c6cf43c8fd;p=oweals%2Fmusl.git speed up threaded fork after fork, we have a new process and the pid is equal to the tid of the new main thread. there is no need to make two separate syscalls to obtain the same number. --- diff --git a/src/process/fork.c b/src/process/fork.c index 012b7ca5..07fb79ed 100644 --- a/src/process/fork.c +++ b/src/process/fork.c @@ -10,8 +10,7 @@ pid_t fork(void) ret = syscall(SYS_fork); if (libc.lock && !ret) { pthread_t self = __pthread_self(); - self->pid = syscall(SYS_getpid); - self->tid = syscall(SYS_gettid); + self->tid = self->pid = syscall(SYS_getpid); libc.threads_minus_1 = 0; } if (libc.fork_handler) libc.fork_handler(!ret);