freebsd-src/lib
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
..
compat What was I smoking? Use the proper form of the library names. 1999-12-21 06:19:03 +00:00
csu $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
libalias Fix a '&&' that should have been a '&'. 1999-12-10 20:04:53 +00:00
libatm $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
libbind Build more components to get named to build. 1999-11-30 04:40:54 +00:00
libc Add a new function dllockinit() for registering thread locking 1999-12-27 04:44:04 +00:00
libc_r Fixed bitrot in synopsis. The change from "int *pshared" to "int pshared" 1999-12-23 16:51:27 +00:00
libcalendar $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
libcam Fix a file descriptor leak in cam_open_btl(). The xpt device was opened, 1999-09-12 19:40:20 +00:00
libcom_err Zap $Source$ 1999-09-06 07:41:34 +00:00
libcompat Aargh, the $FreeBSD$ check caused an inconsistent commit by rejecting 1999-12-22 13:49:14 +00:00
libcrypt Fixed a formatting error in the prototype for crypt(). 1999-12-23 16:53:18 +00:00
libdevstat Clarify what getdevs() expects as input. 1999-09-23 06:36:02 +00:00
libdisk Just on the off-chance that somebody might use libdisk in a totally 1999-12-22 19:06:29 +00:00
libedit Fix style bugs 1999-10-03 10:41:40 +00:00
libfetch $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
libform Add bmake glue for libform (the SVSV-style ETI curses form driver from 1999-09-05 05:37:49 +00:00
libftpio Fix style bugs and ordering 1999-10-03 10:40:11 +00:00
libgnumalloc $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
libio $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
libipx $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
libkse Fix some minor POSIX/SUSv2 compliance nits. 1999-12-18 01:00:42 +00:00
libkvm Report swapdevices as cdevs rather than bdevs. 1999-11-29 21:37:18 +00:00
libm ${MACHINE} -> ${MACHINE_ARCH} 1999-11-14 13:54:44 +00:00
libmd $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
libmenu Add bmake glue for libmenu (the SVSV-style ETI curses menu driver from 1999-09-05 05:32:46 +00:00
libncp Repo copy ncp_cfg.h ncp_lib.h ncp_file.h ncp_rcfile.h from here to 1999-11-12 15:09:58 +00:00
libncurses Make sure curses.h is generated when making build-tools make_keys 1999-12-20 10:37:55 +00:00
libnetgraph Manual page style work. 1999-12-21 01:25:21 +00:00
libopie $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
libpam Add the PAM SSH RSA key authentication module. For example, you can add, 1999-11-29 07:09:44 +00:00
libpanel Add bmake glue for libpanel (the SVSV-style ETI curses panel (overlapping 1999-09-05 05:36:12 +00:00
libpcap $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
libpthread Fixed bitrot in synopsis. The change from "int *pshared" to "int pshared" 1999-12-23 16:51:27 +00:00
libradius Add support for RADIUS accounting. Note, this changes the format 1999-10-31 04:47:59 +00:00
libresolv
librpcsvc $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
libskey Add $FreeBSD$ lines to man pages that are missing them to make it 1999-08-28 23:10:20 +00:00
libss sigset_t change (part 5 of 5) 1999-09-29 15:18:46 +00:00
libstand longjumperror() and abort() don't exist in libstand.. Don't test 1999-11-24 13:54:46 +00:00
libtacplus $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
libtelnet $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
libutil Fix a bug where a pointer would be one character too far after putting 1999-12-21 10:17:36 +00:00
libvgl Fixed missing #include in synopsis. 1999-12-23 16:56:27 +00:00
libwrap $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
libxpg4
liby $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
libz Hard-configure z_off_t as long. Soft configuration using HAVE_UNISTD_H 1999-10-09 11:31:50 +00:00
msun style fix 1999-11-09 00:18:22 +00:00
ncurses Make sure curses.h is generated when making build-tools make_keys 1999-12-20 10:37:55 +00:00
Makefile Turn libbind back on, it should be ok now. 1999-11-30 06:13:10 +00:00
Makefile.inc