freebsd-dev/lib/libc
Mark Johnston f53b045631 Eliminate conf_lock and instead rely on the NSS write lock to protect
NSS configuration state.

As a side effect, this fixes a race condition which can occur if multiple
threads call nsdispatch(3) concurrently before nsswitch.conf has been
parsed. Previously, the thread holding conf_lock could cause other threads
to return from nss_configure() before nsswitch.conf had been parsed, forcing
them to fall back to the default sources for their NSS methods.

Reviewed by:		jhb
Differential Revision:	https://reviews.freebsd.org/D994
MFC after:		1 month
Sponsored by:		EMC / Isilon Storage Division
2014-10-24 20:29:14 +00:00
..
amd64 siglongjmp(): Preserve floating point exception flags on i386 and amd64. 2014-06-09 21:35:36 +00:00
arm Add support for the __aeabi_c*cmp* functions. These are similar to the 2014-10-14 14:27:51 +00:00
capability use .Mt to mark up email addresses consistently (part4) 2014-06-23 08:25:03 +00:00
compat-43 Replace use of ${.CURDIR} by ${LIBC_SRCTOP} and define ${LIBC_SRCTOP} 2014-03-04 02:19:39 +00:00
db Let __bt_put() accept the R_SETCURSOR flag, as stated in the dbopen(3) manpage. 2014-03-06 07:44:45 +00:00
gdtoa Replace use of ${.CURDIR} by ${LIBC_SRCTOP} and define ${LIBC_SRCTOP} 2014-03-04 02:19:39 +00:00
gen The current POSIX semaphore implementation stores the _has_waiters flag 2014-10-24 20:02:44 +00:00
gmon Replace use of ${.CURDIR} by ${LIBC_SRCTOP} and define ${LIBC_SRCTOP} 2014-03-04 02:19:39 +00:00
i386 siglongjmp(): Preserve floating point exception flags on i386 and amd64. 2014-06-09 21:35:36 +00:00
iconv fix misordering... 2014-08-04 21:12:38 +00:00
include Update our stub resolver to final version of libbind. 2014-08-12 12:36:06 +00:00
inet Update our stub resolver to final version of libbind. 2014-08-12 12:36:06 +00:00
isc Update our stub resolver to final version of libbind. 2014-08-12 12:36:06 +00:00
locale libc/locale: Remove a wrong comma. 2014-09-04 17:36:21 +00:00
md Bring the md5 functions into libc for internal use only. 2014-08-12 12:25:56 +00:00
mips Remove ia64. 2014-07-07 00:27:09 +00:00
nameser Add missing break. 2014-08-20 14:58:25 +00:00
net Eliminate conf_lock and instead rely on the NSS write lock to protect 2014-10-24 20:29:14 +00:00
nls Replace use of ${.CURDIR} by ${LIBC_SRCTOP} and define ${LIBC_SRCTOP} 2014-03-04 02:19:39 +00:00
posix1e use .Mt to mark up email addresses consistently (part4) 2014-06-23 08:25:03 +00:00
powerpc Ensure that every ENTRY(foo) has a matching END(foo). 2014-10-01 15:00:21 +00:00
powerpc64 Ensure that every ENTRY(foo) has a matching END(foo). 2014-10-01 15:00:21 +00:00
quad Remove MK_ARM_EABI, the armeb issues have been fixed. The code to support 2014-10-01 08:26:51 +00:00
regex regex(3): Add support for \< and \> word delimiters 2014-06-30 20:54:25 +00:00
resolv Update our stub resolver to final version of libbind. 2014-08-12 12:36:06 +00:00
rpc Properly free resources in case of error. 2014-05-02 20:41:09 +00:00
softfloat Replace use of ${.CURDIR} by ${LIBC_SRCTOP} and define ${LIBC_SRCTOP} 2014-03-04 02:19:39 +00:00
sparc64 Convert from WITHOUT_SYSCALL_COMPAT to MK_SYSCALL_COMPAT. 2014-04-05 17:54:43 +00:00
stdio Fix the example: free the memory that was allocated by getline(). 2014-07-31 08:28:42 +00:00
stdlib Add bsearch_b to the libc map and the stdlib header. 2014-09-01 22:25:42 +00:00
stdtime 1) Fix the case we have less arguments for format string than we expected. 2014-10-07 06:34:05 +00:00
string Remove duplicated code. 2014-10-16 22:04:07 +00:00
sys Slightly improve grammar in EAGAIN description. 2014-10-15 23:39:47 +00:00
uuid Replace use of ${.CURDIR} by ${LIBC_SRCTOP} and define ${LIBC_SRCTOP} 2014-03-04 02:19:39 +00:00
xdr Remove ia64. 2014-07-07 00:27:09 +00:00
yp Replace use of ${.CURDIR} by ${LIBC_SRCTOP} and define ${LIBC_SRCTOP} 2014-03-04 02:19:39 +00:00
libc.ldscript Attempt to move the POSIX iconv* symbols out of runtime linker space. 2013-11-17 22:52:17 +00:00
Makefile Fix incremental builds involving non-root users with read-only source files. 2014-09-18 14:41:57 +00:00
Versions.def Fix the inheritance of the FBSDprivate_1.0 namespace. 2014-04-03 17:31:38 +00:00