Date: Wed, 10 Mar 2010 13:23:25 +0000 (UTC) From: John Baldwin <jhb@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/lib/libc/rpc Symbol.map clnt_simple.c getnetconfig.c key_call.c mt_misc.c mt_misc.h rpc_generic.c rpc_soc.c Message-ID: <201003101323.o2ADNpiH063106@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
jhb 2010-03-10 13:23:25 UTC
FreeBSD src repository
Modified files:
lib/libc/rpc Symbol.map clnt_simple.c getnetconfig.c
key_call.c mt_misc.c mt_misc.h
rpc_generic.c rpc_soc.c
Log:
SVN rev 204950 on 2010-03-10 13:23:25Z by jhb
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
Revision Changes Path
1.5 +0 -4 src/lib/libc/rpc/Symbol.map
1.21 +16 -6 src/lib/libc/rpc/clnt_simple.c
1.18 +15 -14 src/lib/libc/rpc/getnetconfig.c
1.18 +13 -7 src/lib/libc/rpc/key_call.c
1.8 +13 -14 src/lib/libc/rpc/mt_misc.c
1.3 +0 -1 src/lib/libc/rpc/mt_misc.h
1.15 +15 -12 src/lib/libc/rpc/rpc_generic.c
1.16 +9 -6 src/lib/libc/rpc/rpc_soc.c
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201003101323.o2ADNpiH063106>
