]> granicus.if.org Git - sudo/commitdiff
Use SA_INTERRUPT in sa_flags
authorTodd C. Miller <Todd.Miller@courtesan.com>
Thu, 10 Jun 2010 19:19:38 +0000 (15:19 -0400)
committerTodd C. Miller <Todd.Miller@courtesan.com>
Thu, 10 Jun 2010 19:19:38 +0000 (15:19 -0400)
--HG--
branch : 1.7

exec.c
exec_pty.c
logging.c
mon_systrace.c
tgetpass.c

diff --git a/exec.c b/exec.c
index d075d48fab2d64fd286944f0cfbf0c312776be8c..60005efdba34991a5b27dd3247671335c267c087 100644 (file)
--- a/exec.c
+++ b/exec.c
@@ -207,7 +207,7 @@ sudo_execve(path, argv, envp, uid, cstat, dowait, bgmode)
     sigemptyset(&sa.sa_mask);
 
     /* Note: HP-UX select() will not be interrupted if SA_RESTART set */
-    sa.sa_flags = 0; /* do not restart syscalls */
+    sa.sa_flags = SA_INTERRUPT; /* do not restart syscalls */
     sa.sa_handler = handler;
     sigaction(SIGCHLD, &sa, NULL);
     sigaction(SIGHUP, &sa, NULL);
index 06c83c389b7c314ba8bf4eefa01291692e85c7c7..0090394d4ceacef210983569cae62babe9554120 100644 (file)
@@ -414,7 +414,7 @@ fork_pty(path, argv, envp, sv, rbac_enabled, maxfd)
     }
 
     /* Job control signals to relay from parent to child. */
-    sa.sa_flags = 0; /* do not restart syscalls */
+    sa.sa_flags = SA_INTERRUPT; /* do not restart syscalls */
     sa.sa_handler = handler;
     sigaction(SIGTSTP, &sa, NULL);
 #if 0 /* XXX - add these? */
@@ -712,7 +712,7 @@ exec_monitor(path, argv, envp, backchannel, rbac)
     sigaction(SIGTTOU, &sa, NULL);
 
     /* Note: HP-UX select() will not be interrupted if SA_RESTART set */
-    sa.sa_flags = 0;
+    sa.sa_flags = SA_INTERRUPT;
     sa.sa_handler = handler;
     sigaction(SIGCHLD, &sa, NULL);
 
index e23e95c89a639df5d3a150518764bf12e656dd35..00759d385290184f0f47acdc5680c6af28a76a5b 100644 (file)
--- a/logging.c
+++ b/logging.c
@@ -505,7 +505,7 @@ send_mail(fmt, va_alist)
     /* Ignore SIGPIPE in case mailer exits prematurely (or is missing). */
     zero_bytes(&sa, sizeof(sa));
     sigemptyset(&sa.sa_mask);
-    sa.sa_flags = 0;
+    sa.sa_flags = SA_INTERRUPT;
     sa.sa_handler = SIG_IGN;
     (void) sigaction(SIGPIPE, &sa, NULL);
 
index 4afc05a39f56c502c9d140bb051c500193d0ca2b..2e88ba1b85f8092f9953998785cc3d8369d00da9 100644 (file)
@@ -113,7 +113,7 @@ systrace_attach(pid)
        error(1, "sigprocmask");
     zero_bytes(&sa, sizeof(sa));
     sigemptyset(&sa.sa_mask);
-    sa.sa_flags = 0;
+    sa.sa_flags = SA_INTERRUPT;
     sa.sa_handler = catchsig;
     if (sigaction(SIGUSR1, &sa, &osa) != 0)
        error(1, "sigaction");
@@ -151,7 +151,7 @@ systrace_attach(pid)
     dodetach = 0;
     zero_bytes(&sa, sizeof(sa));
     sigemptyset(&sa.sa_mask);
-    sa.sa_flags = 0;
+    sa.sa_flags = SA_INTERRUPT;
     sa.sa_handler = catchsig;
     if (sigaction(SIGUSR1, &osa, NULL) != 0 ||
        sigaction(SIGHUP, &sa, NULL) != 0 ||
index 1ab6f1cae09e88ed04d371da4aff8af861abb643..6c774624d533f7956e723bae1580172fbba6d96e 100644 (file)
@@ -210,7 +210,7 @@ sudo_askpass(prompt)
     /* Ignore SIGPIPE in case child exits prematurely */
     zero_bytes(&sa, sizeof(sa));
     sigemptyset(&sa.sa_mask);
-    sa.sa_flags = 0;
+    sa.sa_flags = SA_INTERRUPT;
     sa.sa_handler = SIG_IGN;
     (void) sigaction(SIGPIPE, &sa, &saved_sa_pipe);