From ca4fce0e1ece616c6f34d549469d26d787141a89 Mon Sep 17 00:00:00 2001 From: Ulrich Drepper Date: Thu, 4 May 2006 18:08:28 +0000 Subject: [PATCH] * sunrpc/rpc_thread.c (__rpc_thread_destroy): Don't skip entire cleanup for initial thread, just the free call on TVP. --- ChangeLog | 3 +++ sunrpc/rpc_thread.c | 5 +++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index ad0fee629a..24546f573a 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2006-05-04 Ulrich Drepper + * sunrpc/rpc_thread.c (__rpc_thread_destroy): Don't skip entire + cleanup for initial thread, just the free call on TVP. + * nscd/gai.c (__getline): Define. diff --git a/sunrpc/rpc_thread.c b/sunrpc/rpc_thread.c index fbc1cf72fe..91e94c2eab 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); } }