aboutsummaryrefslogtreecommitdiffhomepage
path: root/exec.cpp
diff options
context:
space:
mode:
authorGravatar Kevin Ballard <kevin@sb.org>2014-09-30 17:06:56 -0700
committerGravatar Kevin Ballard <kevin@sb.org>2014-09-30 17:06:56 -0700
commit51527612d3162fde31c41d7183320365856f2aae (patch)
treef1d1703cc516d3a5d34e4f75d4547d70c7ac8e55 /exec.cpp
parentc181de1d7fa46821c7a89633e3ab3639d89fd2a3 (diff)
Don't leave is_block in bad state after bad redirection
Fixes #1728.
Diffstat (limited to 'exec.cpp')
-rw-r--r--exec.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/exec.cpp b/exec.cpp
index 60b46ab9..e282f72f 100644
--- a/exec.cpp
+++ b/exec.cpp
@@ -516,9 +516,6 @@ static void internal_exec_helper(parser_t &parser,
std::vector<int> opened_fds;
bool transmorgrified = io_transmogrify(ios, &morphed_chain, &opened_fds);
- int is_block_old=is_block;
- is_block=1;
-
/*
Did the transmogrification fail - if so, set error status and return
*/
@@ -528,6 +525,9 @@ static void internal_exec_helper(parser_t &parser,
return;
}
+ int is_block_old=is_block;
+ is_block=1;
+
signal_unblock();
if (node_offset == NODE_OFFSET_INVALID)