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.
This commit is contained in:
Rich Felker 2011-04-12 17:52:14 -04:00
parent 0913560a3f
commit e2915eeeea
1 changed files with 1 additions and 2 deletions

View File

@ -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);