freebsd-dev/lib/libc
John Baldwin 6f88d2a870 Use thr_once() with once_t controls to initialize various thread_key_t
objects used to provide per-thread storage in the RPC code.  Almost all
of these used double-checking with a dedicated mutex (tsd_lock) to do this
before.  However, that is not always safe with more relaxed memory orders.
There were also other bugs, such as one in __rpc_createrr() that caused a
new key to be allocated each time __rpc_createrr() was invoked.

PR:		threads/144558
Reported by:	Sam Robb  samrobb of averesystems com (key leak)
MFC after:	1 week
2010-03-10 13:23:25 +00:00
..
amd64 Mark uname(), getdomainname() and setdomainname() with COMPAT_FREEBSD4. 2008-11-09 10:45:13 +00:00
arm The NetBSD Foundation has granted permission to remove clause 3 and 4 from 2010-03-02 22:16:40 +00:00
compat-43 Implement sighold, sigignore, sigpause, sigrelse, sigset functions 2009-11-26 13:49:37 +00:00
db Consider flag == 0 as the same of flag == R_NEXT. This change will restore 2009-08-24 23:44:07 +00:00
gdtoa Unbreak the build for arm and powerpc. 2008-04-12 14:53:52 +00:00
gen The NetBSD Foundation has granted permission to remove clause 3 and 4 from 2010-03-02 17:20:04 +00:00
gmon Fix many "function declaration isn't a prototype" warnings in libc. 2009-12-05 19:31:38 +00:00
i386 Remove hand-written labs/abs implementations. GCC is smart enough. 2009-06-23 09:04:59 +00:00
ia64 Remove unneeded stdlib directories. 2009-06-23 14:11:41 +00:00
include The NetBSD Foundation has granted permission to remove clause 3 and 4 from 2010-03-02 17:20:04 +00:00
inet Merge the resolver part of BIND 9.4.3 into HEAD. 2008-12-14 19:39:53 +00:00
isc Merge BIND 9.4.1 into main chunk. 2007-06-03 17:20:27 +00:00
locale Fix grammar. 2009-11-16 14:33:31 +00:00
mips Reinstate the ptrace patch to restore the 'gp' register after calling 2010-02-04 05:49:59 +00:00
nameser This commit was generated by cvs2svn to compensate for changes in r174223, 2007-12-03 15:07:58 +00:00
net Remove extra semicolon. 2010-01-31 21:47:39 +00:00
nls - More style(9) fixups 2010-02-20 08:19:19 +00:00
posix1e Switch to our preferred license text. 2010-03-07 07:59:05 +00:00
powerpc The NetBSD Foundation has granted permission to remove clause 3 and 4 from 2010-03-02 22:11:14 +00:00
quad Fix a typo that prevented the quad symbols from being exported 2007-07-06 13:42:24 +00:00
regex Fix an off-by-one error in the marking of the O_CH operator 2009-09-16 06:32:23 +00:00
resolv Add an option to enforce strict RFC 1034 compliance. 2009-05-29 07:34:54 +00:00
rpc Use thr_once() with once_t controls to initialize various thread_key_t 2010-03-10 13:23:25 +00:00
softfloat Reflect license change from NetBSD. 2009-03-10 21:13:26 +00:00
sparc64 The NetBSD Foundation has granted permission to remove clause 3 and 4 from 2010-03-03 17:07:02 +00:00
stdio In _gettemp(), check that the length of the path doesn't exceed 2010-02-28 13:31:29 +00:00
stdlib In reallocf(3), free the memory only when size != 0. Otherwise, when the 2010-03-03 15:43:26 +00:00
stdtime Split the contributed code from libc/stdtime from lib/libc/stdtime 2010-02-26 06:44:00 +00:00
string Mark up "unsigned char". 2010-02-04 11:23:28 +00:00
sys The NetBSD Foundation has granted permission to remove clause 3 and 4 from 2010-03-02 17:20:04 +00:00
uuid Move uuid_enc_le, uuid_dec_le, uuid_enc_be and uuid_dec_be symbols 2008-09-19 15:52:56 +00:00
xdr Implement support for RPCSEC_GSS authentication to both the NFS client 2008-11-03 10:38:00 +00:00
yp Eliminate more dead stores. 2009-11-25 04:45:45 +00:00
Makefile Merge r195030 from project/mips to head by hand 2010-01-09 00:01:35 +00:00
Versions.def Bump our namespace version for 9.0. 2009-09-13 13:15:36 +00:00