about summary refs log tree commit diff
path: root/Src/exec.c
diff options
context:
space:
mode:
authorBarton E. Schaefer <schaefer@zsh.org>2015-08-11 08:53:12 -0700
committerBarton E. Schaefer <schaefer@zsh.org>2015-08-11 08:55:23 -0700
commit128bf385b1e8256e412d732fa9b80ecd7c5e2c73 (patch)
treef1404739219127f9ef6a80473bcb810fd4374dcc /Src/exec.c
parenta01f29c11de0df084a9a1e6b932b2937936d2119 (diff)
downloadzsh-128bf385b1e8256e412d732fa9b80ecd7c5e2c73.tar.gz
zsh-128bf385b1e8256e412d732fa9b80ecd7c5e2c73.tar.xz
zsh-128bf385b1e8256e412d732fa9b80ecd7c5e2c73.zip
36104: change order of child_block() and dont_queue_signals() to resolve yet another race condition
Diffstat (limited to 'Src/exec.c')
-rw-r--r--Src/exec.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/Src/exec.c b/Src/exec.c
index a635c18ed..45f1c66f0 100644
--- a/Src/exec.c
+++ b/Src/exec.c
@@ -1607,8 +1607,8 @@ execpline(Estate state, wordcode slcode, int how, int last1)
 		    !(jobtab[list_pipe_job].stat & STAT_STOPPED)) {
 		    int q = queue_signal_level();
 		    child_unblock();
-		    dont_queue_signals();
 		    child_block();
+		    dont_queue_signals();
 		    restore_queue_signals(q);
 		}
 		if (list_pipe_child &&