summaryrefslogtreecommitdiff
path: root/Src/exec.c
diff options
context:
space:
mode:
Diffstat (limited to 'Src/exec.c')
-rw-r--r--Src/exec.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/Src/exec.c b/Src/exec.c
index cf79ea88b..6f16b9e87 100644
--- a/Src/exec.c
+++ b/Src/exec.c
@@ -229,6 +229,7 @@ zfork(struct timeval *tv)
{
pid_t pid;
struct timezone dummy_tz;
+ sigset_t signals;
/*
* Is anybody willing to explain this test?
@@ -239,7 +240,10 @@ zfork(struct timeval *tv)
}
if (tv)
gettimeofday(tv, &dummy_tz);
+ sigfillset(&signals);
+ signals = signal_block(signals);
pid = fork();
+ signal_setmask(signals);
if (pid == -1) {
zerr("fork failed: %e", errno);
return -1;