1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-21 11:13:30 +00:00
freebsd/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
libalias Fix a '&&' that should have been a '&'. 1999-12-10 20:04:53 +00:00
libatm
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
libcam
libcom_err
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
libdisk Just on the off-chance that somebody might use libdisk in a totally 1999-12-22 19:06:29 +00:00
libedit
libfetch
libform
libftpio
libgnumalloc
libio
libipx
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
libmenu
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
libpam Add the PAM SSH RSA key authentication module. For example, you can add, 1999-11-29 07:09:44 +00:00
libpanel
libpcap
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
libskey
libss
libstand longjumperror() and abort() don't exist in libstand.. Don't test 1999-11-24 13:54:46 +00:00
libtacplus
libtelnet
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
libxpg4
liby
libz
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