aboutsummaryrefslogtreecommitdiff
path: root/sunrpc/rpc_thread.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2006-05-04 18:08:28 +0000
committerUlrich Drepper <drepper@redhat.com>2006-05-04 18:08:28 +0000
commitca4fce0e1ece616c6f34d549469d26d787141a89 (patch)
treeab79cb7eea81f10668c92cc03120047cffc7012d /sunrpc/rpc_thread.c
parent3f87d90102af2376a46bb2ebe419c83c30a25b73 (diff)
downloadglibc-ca4fce0e1ece616c6f34d549469d26d787141a89.zip
glibc-ca4fce0e1ece616c6f34d549469d26d787141a89.tar.gz
glibc-ca4fce0e1ece616c6f34d549469d26d787141a89.tar.bz2
* sunrpc/rpc_thread.c (__rpc_thread_destroy): Don't skip entire
cleanup for initial thread, just the free call on TVP.
Diffstat (limited to 'sunrpc/rpc_thread.c')
-rw-r--r--sunrpc/rpc_thread.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sunrpc/rpc_thread.c b/sunrpc/rpc_thread.c
index fbc1cf7..91e94c2 100644
--- a/sunrpc/rpc_thread.c
+++ b/sunrpc/rpc_thread.c
@@ -20,7 +20,7 @@ __rpc_thread_destroy (void)
{
struct rpc_thread_variables *tvp = __libc_tsd_get (RPC_VARS);
- if (tvp != NULL && tvp != &__libc_tsd_RPC_VARS_mem) {
+ if (tvp != NULL) {
__rpc_thread_svc_cleanup ();
__rpc_thread_clnt_cleanup ();
__rpc_thread_key_cleanup ();
@@ -29,7 +29,8 @@ __rpc_thread_destroy (void)
free (tvp->svcraw_private_s);
free (tvp->authdes_cache_s);
free (tvp->authdes_lru_s);
- free (tvp);
+ if (tvp != &__libc_tsd_RPC_VARS_mem)
+ free (tvp);
__libc_tsd_set (RPC_VARS, NULL);
}
}