提交 e2915eee 编写于 作者: R Rich Felker

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.
上级 0913560a
......@@ -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);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册