summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Versions1
-rw-r--r--pthreadP.h1
-rw-r--r--sysdeps/generic/raise.c3
3 files changed, 4 insertions, 1 deletions
diff --git a/Versions b/Versions
index 089c6b5..4ad3c3e 100644
--- a/Versions
+++ b/Versions
@@ -142,5 +142,6 @@ libpthread {
}
GLIBC_PRIVATE {
__shm_directory;
+ __pthread_threads;
}
}
diff --git a/pthreadP.h b/pthreadP.h
index f1fd625..97e3028 100644
--- a/pthreadP.h
+++ b/pthreadP.h
@@ -22,5 +22,6 @@
extern pthread_t __pthread_self (void);
extern int __pthread_kill (pthread_t threadid, int signo);
+extern struct __pthread **__pthread_threads;
#endif /* pthreadP.h */
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);