about summary refs log tree commit diff
path: root/src/process/fork.c
Commit message (Collapse)AuthorAgeFilesLines
* ensure in fork that child gets its own new robust mutex listRich Felker2011-07-161-0/+1
|
* fix minor bugs due to incorrect threaded-predicate semanticsRich Felker2011-04-201-1/+2
| | | | | | | | | | | | some functions that should have been testing whether pthread_self() had been called and initialized the thread pointer were instead testing whether pthread_create() had been called and actually made the program "threaded". while it's unlikely any mismatch would occur in real-world problems, this could have introduced subtle bugs. now, we store the address of the main thread's thread descriptor in the libc structure and use its presence as a flag that the thread register is initialized. note that after fork, the calling thread (not necessarily the original main thread) is the new main thread.
* clean up handling of thread/nothread mode, lockingRich Felker2011-04-171-1/+1
|
* speed up threaded forkRich Felker2011-04-121-2/+1
| | | | | | 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.
* global cleanup to use the new syscall interfaceRich Felker2011-03-201-3/+3
|
* make fork properly initialize the main thread in the child processRich Felker2011-03-091-0/+7
|
* add pthread_atfork interfaceRich Felker2011-02-181-3/+6
| | | | | | | | | note that this presently does not handle consistency of the libc's own global state during forking. as per POSIX 2008, if the parent process was threaded, the child process may only call async-signal-safe functions until one of the exec-family functions is called, so the current behavior is believed to be conformant even if non-ideal. it may be improved at some later time.
* initial check-in, version 0.5.0 v0.5.0Rich Felker2011-02-121-0/+9