From 7b052e33dd35cbee0fcb14a1b58ac2023b40b9af Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Thu, 8 Jan 2015 14:26:51 -0800 Subject: [PATCH] NPTL: Fix generic pthread_sigmask. --- ChangeLog | 3 +++ nptl/pthread_sigmask.c | 6 +++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 23e1b33..676e72c 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 999f07c..49f47b0 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; -- 2.7.4