summaryrefslogtreecommitdiff
path: root/Src/exec.c
diff options
context:
space:
mode:
authorPeter Stephenson <pws@users.sourceforge.net>2007-12-07 11:34:47 +0000
committerPeter Stephenson <pws@users.sourceforge.net>2007-12-07 11:34:47 +0000
commitcefc0d927f11f9749c082d58d65c3e9ac007e8a1 (patch)
treed3d77ce9007d483487ee1548bc37c4eaaeff2fd7 /Src/exec.c
parentf9bf1dc5580b6065f8b69668440325564be79594 (diff)
downloadzsh-cefc0d927f11f9749c082d58d65c3e9ac007e8a1.tar.gz
zsh-cefc0d927f11f9749c082d58d65c3e9ac007e8a1.zip
24179: use queue_signals() for 24170
24180: back off strerror_r() patch, except for use of temporary var
Diffstat (limited to 'Src/exec.c')
-rw-r--r--Src/exec.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/Src/exec.c b/Src/exec.c
index 6f16b9e87..9695011e3 100644
--- a/Src/exec.c
+++ b/Src/exec.c
@@ -229,7 +229,6 @@ zfork(struct timeval *tv)
{
pid_t pid;
struct timezone dummy_tz;
- sigset_t signals;
/*
* Is anybody willing to explain this test?
@@ -240,10 +239,9 @@ zfork(struct timeval *tv)
}
if (tv)
gettimeofday(tv, &dummy_tz);
- sigfillset(&signals);
- signals = signal_block(signals);
+ queue_signals();
pid = fork();
- signal_setmask(signals);
+ unqueue_signals();
if (pid == -1) {
zerr("fork failed: %e", errno);
return -1;