Date: Thu, 27 Nov 2008 11:27:59 +0000 (UTC) From: Konstantin Belousov <kib@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/lib/libc/gen Symbol.map dlfcn.c src/lib/libthr/thread thr_fork.c src/libexec/rtld-elf Symbol.map rtld.c rtld_lock.c rtld_lock.h Message-ID: <200811271131.mARBVpEp009758@repoman.freebsd.org>
index | next in thread | raw e-mail
kib 2008-11-27 11:27:59 UTC
FreeBSD src repository
Modified files:
lib/libc/gen Symbol.map dlfcn.c
lib/libthr/thread thr_fork.c
libexec/rtld-elf Symbol.map rtld.c rtld_lock.c rtld_lock.h
Log:
SVN rev 185369 on 2008-11-27 11:27:59Z by kib
Add two rtld exported symbols, _rtld_atfork_pre and _rtld_atfork_post.
Threading library calls _pre before the fork, allowing the rtld to
lock itself to ensure that other threads of the process are out of
dynamic linker. _post releases the locks.
This allows the rtld to have consistent state in the child. Although
child may legitimately call only async-safe functions, the call may
need plt relocation resolution, and this requires working rtld.
Reported and debugging help by: rink
Reviewed by: kan, davidxu
MFC after: 1 month (anyway, not before 7.1 is out)
Revision Changes Path
1.16 +2 -0 src/lib/libc/gen/Symbol.map
1.15 +12 -0 src/lib/libc/gen/dlfcn.c
1.9 +10 -1 src/lib/libthr/thread/thr_fork.c
1.6 +2 -0 src/libexec/rtld-elf/Symbol.map
1.129 +2 -0 src/libexec/rtld-elf/rtld.c
1.7 +16 -0 src/libexec/rtld-elf/rtld_lock.c
1.4 +2 -0 src/libexec/rtld-elf/rtld_lock.h
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200811271131.mARBVpEp009758>
