freebsd-nq/libexec
Konstantin Belousov e91ff25c0c Fix the problem with the C++ exception handling for the multithreaded
programs.

From the PR description:
The gcc runtime's _Unwind_Find_FDE function, invoked during exception
handling's stack unwinding, is not safe to execute from within multiple
threads. FreeBSD' s dl_iterate_phdr() however permits multiple threads
to pass through it though. The result is surprisingly reliable infinite
looping of one or more threads if they just happen to be unwinding at
the same time.

Introduce the new lock that is write locked around the dl_iterate_pdr,
thus providing required exclusion for the stack unwinders.

PR:	threads/123062
Submitted by:	Andy Newman <an at atrn org>
Reviewed by:	kan
MFC after:	2 weeks
2008-05-06 09:27:41 +00:00
..
atrun Fixed static linkage (build with -DNO_SHARED). 2007-10-01 18:17:24 +00:00
bootpd
comsat
fingerd
ftpd Remove references to S/Key and list OPIE. 2007-04-20 09:08:20 +00:00
getty Stop mentioning /usr/X11R6. 2007-07-24 06:41:07 +00:00
lukemftpd
mail.local
makekey
mknetid
pppoed Significantly reduce the memory leak as noted in BUGS section for 2007-07-04 00:00:41 +00:00
pt_chown
rbootd
revnetgroup
rlogind
rpc.rquotad
rpc.rstatd
rpc.rusersd
rpc.rwalld
rpc.sprayd
rshd
rtld-aout
rtld-elf Fix the problem with the C++ exception handling for the multithreaded 2008-05-06 09:27:41 +00:00
save-entropy
smrsh
talkd Fix some "in in" typos in comments. 2008-03-26 07:32:08 +00:00
tcpd
telnetd
tftp-proxy Link pf 4.1 to the build: 2007-07-03 12:46:08 +00:00
tftpd Add "with" to make the line go smoother. 2007-11-23 01:52:44 +00:00
ypxfr
Makefile Add a hackish knob to skip rtld, NO_RTLD. In conjunction with 2007-10-31 11:19:32 +00:00
Makefile.inc