(__rpc_thread_destroy): Don't skip entire cleanup for initial thread, just
authordrepper <drepper>
Thu, 4 May 2006 18:07:29 +0000 (18:07 +0000)
committerdrepper <drepper>
Thu, 4 May 2006 18:07:29 +0000 (18:07 +0000)
the free call on TVP.

sunrpc/rpc_thread.c

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);
        }
 }