From dc28c9c42afb66c751c894ab923917e9bda93adc Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Sat, 10 Oct 2015 12:56:27 +0200 Subject: Fix errno set by raise * sysdeps/generic/raise.c: Include and . (raise): Only set errno when calling pthread_kill, not kill. --- sysdeps/generic/raise.c | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) (limited to 'sysdeps') diff --git a/sysdeps/generic/raise.c b/sysdeps/generic/raise.c index 15348ce..3c497da 100644 --- a/sysdeps/generic/raise.c +++ b/sysdeps/generic/raise.c @@ -19,6 +19,8 @@ . */ #include +#include +#include #pragma weak pthread_kill #pragma weak pthread_self @@ -29,17 +31,18 @@ raise (int signo) "the effect of the raise() function shall be equivalent to calling: pthread_kill(pthread_self(), sig);" */ - int err; if (pthread_kill) - err = pthread_kill (pthread_self (), signo); - else - err = __kill (__getpid (), signo); - if (err) { - errno = err; - return -1; + int err; + err = pthread_kill (pthread_self (), signo); + if (err) + { + errno = err; + return -1; + } + return 0; } - - return 0; + else + return __kill (__getpid (), signo); } -- cgit v1.2.3