From 75b1f41bac0b70d9f87fbafde7cb94b9da3607c1 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Thu, 20 Aug 2015 23:30:14 +0200 Subject: Fix raise.c build * sysdeps/generic/raise.c: Include instead of non-existing "sig-internal.h" --- sysdeps/generic/raise.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'sysdeps/generic/raise.c') diff --git a/sysdeps/generic/raise.c b/sysdeps/generic/raise.c index 410f557..2319cfa 100644 --- a/sysdeps/generic/raise.c +++ b/sysdeps/generic/raise.c @@ -18,7 +18,7 @@ License along with this program. If not, see . */ -#include "sig-internal.h" +#include int raise (int signo) -- cgit v1.2.3 From 42889b484ae0cae466a63e13e25a117094732e75 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Thu, 20 Aug 2015 23:50:47 +0200 Subject: Drop debugging statements * sysdeps/generic/raise.c (raise): Do not call debug. --- sysdeps/generic/raise.c | 2 -- 1 file changed, 2 deletions(-) (limited to 'sysdeps/generic/raise.c') diff --git a/sysdeps/generic/raise.c b/sysdeps/generic/raise.c index 2319cfa..7514d3b 100644 --- a/sysdeps/generic/raise.c +++ b/sysdeps/generic/raise.c @@ -27,9 +27,7 @@ raise (int signo) "the effect of the raise() function shall be equivalent to calling: pthread_kill(pthread_self(), sig);" */ -debug (0, ""); int err = pthread_kill (pthread_self (), signo); -debug (0, ""); if (err) { errno = err; -- cgit v1.2.3 From 8ffa76b6e9af0df8531278f15aa6301b1b5ba76f Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Thu, 20 Aug 2015 23:57:54 +0200 Subject: Fix raise thread-aware implementation * sysdeps/generic/raise.c (pthread_kill): Make ref weak. (raise): Only call pthread_kill when it is not NULL. Call kill otherwise. --- sysdeps/generic/raise.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'sysdeps/generic/raise.c') diff --git a/sysdeps/generic/raise.c b/sysdeps/generic/raise.c index 7514d3b..3c21233 100644 --- a/sysdeps/generic/raise.c +++ b/sysdeps/generic/raise.c @@ -20,6 +20,7 @@ #include +#pragma weak pthread_kill int raise (int signo) { @@ -27,7 +28,11 @@ raise (int signo) "the effect of the raise() function shall be equivalent to calling: pthread_kill(pthread_self(), sig);" */ - int err = pthread_kill (pthread_self (), signo); + int err; + if (pthread_kill) + err = pthread_kill (pthread_self (), signo); + else + err = __kill (__getpid (), signo); if (err) { errno = err; -- cgit v1.2.3 From ad240db048ce9fc822f86f6a824fc73d6b5c91d1 Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Fri, 28 Aug 2015 02:17:52 +0200 Subject: Fix spurious dependency of libc on libpthread * sysdeps/generic/raise.c (pthread_self): Make reference weak. --- sysdeps/generic/raise.c | 1 + 1 file changed, 1 insertion(+) (limited to 'sysdeps/generic/raise.c') diff --git a/sysdeps/generic/raise.c b/sysdeps/generic/raise.c index 3c21233..15348ce 100644 --- a/sysdeps/generic/raise.c +++ b/sysdeps/generic/raise.c @@ -21,6 +21,7 @@ #include #pragma weak pthread_kill +#pragma weak pthread_self int raise (int signo) { -- cgit v1.2.3