aboutsummaryrefslogtreecommitdiffhomepage
path: root/exec.cpp
diff options
context:
space:
mode:
authorGravatar Kevin Ballard <kevin@sb.org>2014-09-30 20:58:45 -0700
committerGravatar Kevin Ballard <kevin@sb.org>2014-09-30 20:58:45 -0700
commit3616dd588949b3c8f5d238c315b43b65439bf119 (patch)
tree7b9e6ab0f0fc3a3a29f66f49744e2a1c8fbdfcc7 /exec.cpp
parent489fb7ec3f13e21d0dd157c0d589e07dfb6ee271 (diff)
Base `status -b` off the parser execution stack
Instead of globally marking the state as "in block" when evaluating blocks/functions, update the "in block" status when pushing/popping blocks on the parser stack. Fixes #1729. On a side note, `status -b` is actually pretty useless, because it always returns 0 inside of a function (even without this patch).
Diffstat (limited to 'exec.cpp')
-rw-r--r--exec.cpp4
1 files changed, 0 insertions, 4 deletions
diff --git a/exec.cpp b/exec.cpp
index 59915886..10baa76b 100644
--- a/exec.cpp
+++ b/exec.cpp
@@ -525,9 +525,6 @@ 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)
@@ -544,7 +541,6 @@ static void internal_exec_helper(parser_t &parser,
morphed_chain.clear();
io_cleanup_fds(opened_fds);
job_reap(0);
- is_block=is_block_old;
}
/* Returns whether we can use posix spawn for a given process in a given job.