freebsd-dev/libexec
John Polstra d3980376e8 Add a new function dllockinit() for registering thread locking
functions to be used by the dynamic linker.  This can be called by
threads packages at start-up time.  I will add the call to libc_r
soon.

Also add a default locking method that is used up until dllockinit()
is called.  The default method works by blocking SIGVTALRM, SIGPROF,
and SIGALRM in critical sections.  It is based on the observation
that most user-space threads packages implement thread preemption
with one of these signals (usually SIGVTALRM).

The dynamic linker has never been reentrant, but it became less
reentrant in revision 1.34 of "src/libexec/rtld-elf/rtld.c".
Starting with that revision, multiple threads each doing lazy
binding could interfere with each other.  The usual symptom was
that a symbol was falsely reported as undefined at start-up time.
It was rare but not unseen.  This commit fixes it.
1999-12-27 04:44:04 +00:00
..
atrun $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
bootpd Fix bootpd for Alpha. 1999-11-12 10:11:48 +00:00
comsat $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
fingerd Add $FreeBSD$ lines to man pages that are missing them to make it 1999-08-28 23:10:20 +00:00
ftpd sync with netbsd PR 8534, fix undefined C code. 1999-10-07 08:41:55 +00:00
getNAME $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
getty Correct the ttys.5 and init.8 manpages with respect to the incorrect 1999-12-06 09:07:14 +00:00
mail.local $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
makekey Revert the libcrypt/libmd stuff back to how it was. This should not have 1999-12-18 13:55:17 +00:00
mknetid $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
named-xfer $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
pppoed Add a ``-P pidfile'' option 1999-11-23 00:21:20 +00:00
rbootd $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
revnetgroup $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
rexecd $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
rlogind Fix for new Kerberos4. Make a fist cut at PAM-ising while I'm here. 1999-09-19 22:05:32 +00:00
rpc.rquotad $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
rpc.rstatd $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
rpc.rusersd $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
rpc.rwalld $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
rpc.sprayd $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
rshd Fix for new Kerberos4. Make a fist cut at PAM-ising while I'm here. 1999-09-19 22:05:32 +00:00
rtld-aout .Nm += "rtld" 1999-09-28 05:35:59 +00:00
rtld-elf Add a new function dllockinit() for registering thread locking 1999-12-27 04:44:04 +00:00
smrsh Build sendmail-8.9.1 smrsh 1998-08-04 15:31:31 +00:00
talkd Add $FreeBSD$ lines to man pages that are missing them to make it 1999-08-28 23:10:20 +00:00
telnetd $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
tftpd Add $FreeBSD$ lines to man pages that are missing them to make it 1999-08-28 23:10:20 +00:00
uucpd Revert the libcrypt/libmd stuff back to how it was. This should not have 1999-12-18 13:55:17 +00:00
xtend $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
ypxfr $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
Makefile Reactivate named-xfer 1999-11-30 06:23:04 +00:00
Makefile.inc BSD 4.4 Lite Libexec Sources 1994-05-27 12:39:25 +00:00