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>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200811271131.mARBVpEp009758>