]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
signal-util: add new helper signal_is_blocked()
authorLennart Poettering <lennart@poettering.net>
Wed, 30 Oct 2019 16:37:00 +0000 (17:37 +0100)
committerLennart Poettering <lennart@poettering.net>
Wed, 4 Dec 2019 09:35:01 +0000 (10:35 +0100)
src/basic/signal-util.c
src/basic/signal-util.h

index bfb83419c98967dfd4ccdd25964f5939f24df7db..cb59f6ca0f2639648989e22f2361f545c414f970 100644 (file)
@@ -287,3 +287,18 @@ int signal_from_string(const char *s) {
 void nop_signal_handler(int sig) {
         /* nothing here */
 }
+
+int signal_is_blocked(int sig) {
+        sigset_t ss;
+        int r;
+
+        r = pthread_sigmask(SIG_SETMASK, NULL, &ss);
+        if (r != 0)
+                return -r;
+
+        r = sigismember(&ss, sig);
+        if (r < 0)
+                return -errno;
+
+        return r;
+}
index 92f2804cd2142bc24da3f4591993ac42538b3eaf..3909ee341dafacf904d6094cdbf5cd0b7b379ad2 100644 (file)
@@ -41,3 +41,5 @@ static inline const char* signal_to_string_with_check(int n) {
 
         return signal_to_string(n);
 }
+
+int signal_is_blocked(int sig);