summaryrefslogtreecommitdiffstats
path: root/lib/libc/sys/w_fork.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Use a Thread Information Block in both single and multi-threaded programs.guenther2016-05-071-7/+19
| | | | | | | | | | | | | | | | | This stores errno, the cancelation flags, and related bits for each thread and is allocated by ld.so or libc.a. This is an ABI break from 5.9-stable! Make libpthread dlopen'able by moving the cancelation wrappers into libc and doing locking and fork/errno handling via callbacks that libpthread registers when it first initializes. 'errno' *must* be declared via <errno.h> now! Clean up libpthread's symbol exports like libc. On powerpc, offset the TIB/TCB/TLS data from the register per the ELF spec. Testing by various, particularly sthen@ and patrick@ ok kettenis@
* Move the _atfork_list definition to atexit.c so that the fork syscall stubguenther2015-10-251-4/+1
| | | | | | doesn't get pulled into all static executables ok millert@ jca@
* Make pthread_atfork() track the DSO that called it like atexit() does,guenther2015-04-071-0/+74
unregistering callbacks if the DSO is unloaded. Move the callback handling from libpthread to libc, though libpthread still overrides the inner call to handle locking and thread-library reinitialization. Major version bump for both libc and libpthread. verification that this fixes various ports ajacoutot@ asm assistance miod@; ok millert@ deraadt@