From 79e9d2b78ec0747a94731d45e0e5149269e96159 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Mon, 24 Oct 2016 22:34:36 +0200 Subject: Do not pthread_self when raise is called before libpthread init * Versions (__pthread_threads): Add in GLIBC_PRIVATE. * pthreadP.h (__pthread_threads): Declare. * sysdeps/generic/raise.c (__pthread_threads): Make symbol weak. (raise): Check for __pthread_threads before calling __pthread_self. --- sysdeps/generic/raise.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'sysdeps') diff --git a/sysdeps/generic/raise.c b/sysdeps/generic/raise.c index cc18b39..b98cf51 100644 --- a/sysdeps/generic/raise.c +++ b/sysdeps/generic/raise.c @@ -24,6 +24,7 @@ #pragma weak __pthread_kill #pragma weak __pthread_self +#pragma weak __pthread_threads int raise (int signo) { @@ -31,7 +32,7 @@ raise (int signo) "the effect of the raise() function shall be equivalent to calling: pthread_kill(pthread_self(), sig);" */ - if (__pthread_kill) + if (__pthread_kill && __pthread_threads) { int err; err = __pthread_kill (__pthread_self (), signo); -- cgit v1.2.3