chiark / gitweb /
main: when ignoring a signal set SA_RESTART
[elogind.git] / util.c
diff --git a/util.c b/util.c
index e32e2f2..a1b9f1e 100644 (file)
--- a/util.c
+++ b/util.c
@@ -658,7 +658,6 @@ char *strstrip(char *s) {
                 *s = 0;
 
         return s;
                 *s = 0;
 
         return s;
-
 }
 
 char *delete_chars(char *s, const char *bad) {
 }
 
 char *delete_chars(char *s, const char *bad) {
@@ -1637,6 +1636,16 @@ int release_terminal(void) {
         return r;
 }
 
         return r;
 }
 
+int ignore_signal(int sig) {
+        struct sigaction sa;
+
+        zero(sa);
+        sa.sa_handler = SIG_IGN;
+        sa.sa_flags = SA_RESTART;
+
+        return sigaction(sig, &sa, NULL);
+}
+
 static const char *const ioprio_class_table[] = {
         [IOPRIO_CLASS_NONE] = "none",
         [IOPRIO_CLASS_RT] = "realtime",
 static const char *const ioprio_class_table[] = {
         [IOPRIO_CLASS_NONE] = "none",
         [IOPRIO_CLASS_RT] = "realtime",