* sunrpc/rpc_thread.c (__rpc_thread_destroy): Don't skip entire
authorUlrich Drepper <drepper@redhat.com>
Thu, 4 May 2006 18:08:28 +0000 (18:08 +0000)
committerUlrich Drepper <drepper@redhat.com>
Thu, 4 May 2006 18:08:28 +0000 (18:08 +0000)
cleanup for initial thread, just the free call on TVP.

ChangeLog
sunrpc/rpc_thread.c

index ad0fee6..24546f5 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,8 @@
 2006-05-04  Ulrich Drepper  <drepper@redhat.com>
 
+       * 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.
 
 
index fbc1cf7..91e94c2 100644 (file)
@@ -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);
        }
 }