فهرست منبع

Revert change. Calls can only be used when utilizing TLS. Sorry for the breakage.

"Steven J. Hill" 19 سال پیش
والد
کامیت
b883f7ba0f
1فایلهای تغییر یافته به همراه5 افزوده شده و 5 حذف شده
  1. 5 5
      libc/inet/rpc/rpc_thread.c

+ 5 - 5
libc/inet/rpc/rpc_thread.c

@@ -18,11 +18,12 @@ libc_hidden_proto(__rpc_thread_svc_max_pollfd)
 #ifdef __UCLIBC_HAS_THREADS__
 
 #include <bits/libc-tsd.h>
-#include <bits/libc-lock.h>
+//#include <bits/libc-lock.h>
 
 /* Variable used in non-threaded applications or for the first thread.  */
 static struct rpc_thread_variables __libc_tsd_RPC_VARS_mem;
-__libc_tsd_define (, RPC_VARS)
+static struct rpc_thread_variables *__libc_tsd_RPC_VARS_data =
+	&__libc_tsd_RPC_VARS_mem;
 
 /*
  * Task-variable destructor
@@ -30,7 +31,7 @@ __libc_tsd_define (, RPC_VARS)
 void
 __rpc_thread_destroy (void)
 {
-	struct rpc_thread_variables *tvp = __libc_tsd_get (RPC_VARS);
+	struct rpc_thread_variables *tvp = __rpc_thread_variables();
 
 	if (tvp != NULL && tvp != &__libc_tsd_RPC_VARS_mem) {
 		__rpc_thread_svc_cleanup ();
@@ -43,7 +44,6 @@ __rpc_thread_destroy (void)
 		free (tvp->authdes_cache_s);
 		free (tvp->authdes_lru_s);
 		free (tvp);
-		__libc_tsd_set (RPC_VARS, NULL);
 	}
 }
 
@@ -72,7 +72,7 @@ __rpc_thread_variables (void)
 			if (tvp != NULL)
 				__libc_tsd_set (RPC_VARS, tvp);
 			else
-				tvp = __libc_tsd_RPC_VARS;
+				tvp = __libc_tsd_RPC_VARS_data;
 		}
 	}
 	return tvp;