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>