aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2014-03-29 20:20:14 +0100
committerEelco Dolstra <eelco.dolstra@logicblox.com>2014-03-29 20:20:14 +0100
commit90dc50b07c3939dda44fde79f696f64bf8f2f4d7 (patch)
tree2e1e220ee90c434c6abb6a8ef5a0118c7ec02dc1
parent49009573bc2eacd823d57433daf1f59dfe415065 (diff)
restoreSIGPIPE(): Fill in sa_mask
Issue #231.
-rw-r--r--src/libmain/shared.cc2
-rw-r--r--src/libstore/build.cc1
2 files changed, 2 insertions, 1 deletions
diff --git a/src/libmain/shared.cc b/src/libmain/shared.cc
index 30238c7fb..a39065445 100644
--- a/src/libmain/shared.cc
+++ b/src/libmain/shared.cc
@@ -110,7 +110,7 @@ static void initAndRun(int argc, char * * argv)
/* Catch SIGINT. */
struct sigaction act;
act.sa_handler = sigintHandler;
- sigfillset(&act.sa_mask);
+ sigemptyset(&act.sa_mask);
act.sa_flags = 0;
if (sigaction(SIGINT, &act, 0))
throw SysError("installing handler for SIGINT");
diff --git a/src/libstore/build.cc b/src/libstore/build.cc
index e846995f7..5a869ead6 100644
--- a/src/libstore/build.cc
+++ b/src/libstore/build.cc
@@ -413,6 +413,7 @@ static void restoreSIGPIPE()
struct sigaction act, oact;
act.sa_handler = SIG_DFL;
act.sa_flags = 0;
+ sigemptyset(&act.sa_mask);
if (sigaction(SIGPIPE, &act, &oact)) throw SysError("resetting SIGPIPE");
}