From: Roland McGrath Date: Thu, 8 Jan 2015 22:26:51 +0000 (-0800) Subject: NPTL: Fix generic pthread_sigmask. X-Git-Tag: glibc-2.21~76 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7b052e33dd35cbee0fcb14a1b58ac2023b40b9af;p=thirdparty%2Fglibc.git NPTL: Fix generic pthread_sigmask. --- diff --git a/ChangeLog b/ChangeLog index 23e1b335b28..676e72c4679 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2015-01-08 Roland McGrath + * nptl/pthread_sigmask.c [SIGCANCEL || SIGTIMER || SIGSETXID]: #error. + (pthread_sigmask): Call sigprocmask, not __sigprocmask. + * nptl/nptl-init.c (pthread_functions): Conditionalize .ptr__nptl_setxid initialization on [SIGSETXID]. diff --git a/nptl/pthread_sigmask.c b/nptl/pthread_sigmask.c index 999f07c873a..49f47b0ce84 100644 --- a/nptl/pthread_sigmask.c +++ b/nptl/pthread_sigmask.c @@ -18,14 +18,18 @@ #include #include +#include +#if defined SIGCANCEL || defined SIGTIMER || defined SIGSETXID +# error "This implementation assumes no internal-only signal numbers." +#endif int pthread_sigmask (int how, const sigset_t *newmask, sigset_t *oldmask) { /* Here we assume that sigprocmask actually does everything right. The only difference is the return value protocol. */ - int result = __sigprocmask (how, newmask, oldmask); + int result = sigprocmask (how, newmask, oldmask); if (result < 0) result = errno; return result;