path: root/src/thread/pthread_sigmask.c
diff options
authorRich Felker <>2018-12-18 20:01:20 -0500
committerRich Felker <>2018-12-18 20:01:20 -0500
commit1ec71c531e118971e70ddd0e9e2ed9def2b3c779 (patch)
tree371aab4c9dfce87d8ea4ea47582689aaa3f1ef8e /src/thread/pthread_sigmask.c
parenta63c0104e496f7ba78b64be3cd299b41e8cd427f (diff)
don't fail pthread_sigmask/sigprocmask on invalid how when set is null
the resolution of Austin Group issue #1132 changes the requirement to fail so that it only applies when the set argument (new mask) is non-null. this change was made for consistency with the description, which specified "if set is a null pointer, the value of the argument how is not significant".
Diffstat (limited to 'src/thread/pthread_sigmask.c')
1 files changed, 1 insertions, 1 deletions
diff --git a/src/thread/pthread_sigmask.c b/src/thread/pthread_sigmask.c
index 88c333f6..f188782a 100644
--- a/src/thread/pthread_sigmask.c
+++ b/src/thread/pthread_sigmask.c
@@ -5,7 +5,7 @@
int pthread_sigmask(int how, const sigset_t *restrict set, sigset_t *restrict old)
int ret;
- if ((unsigned)how - SIG_BLOCK > 2U) return EINVAL;
+ if (set && (unsigned)how - SIG_BLOCK > 2U) return EINVAL;
ret = -__syscall(SYS_rt_sigprocmask, how, set, old, _NSIG/8);
if (!ret && old) {
if (sizeof old->__bits[0] == 8) {