POSIX specifies that for an invalid signal argument, sigismember() should
fail. This patch fixes gnulib's implementation for native Windows.

[1] https://pubs.opengroup.org/onlinepubs/9799919799/functions/sigismember.html


2026-04-16  Bruno Haible  <[email protected]>

        sigprocmask: Fix sigismember function.
        * lib/sigprocmask.c (sigismember): If the signal argument is invalid,
        return -1 instead of 0.

diff --git a/lib/sigprocmask.c b/lib/sigprocmask.c
index ecba32c35a..35f5d04670 100644
--- a/lib/sigprocmask.c
+++ b/lib/sigprocmask.c
@@ -136,7 +136,10 @@ sigismember (const sigset_t *set, int sig)
       return (*set >> sig) & 1;
     }
   else
-    return 0;
+    {
+      errno = EINVAL;
+      return -1;
+    }
 }
 
 int




Reply via email to