summary refs log tree commit diff
path: root/src/funcs
diff options
context:
space:
mode:
authorHerbert Xu <herbert@gondor.apana.org.au>2020-01-19 18:21:59 +0800
committerHerbert Xu <herbert@gondor.apana.org.au>2020-04-29 16:04:17 +1000
commitf613f9573f044220453069ee81ed8706c6e18225 (patch)
tree89c0248f36c673e01909222f9f79718d054eee9b /src/funcs
parentshell: delete AC_PROG_YACC (diff)
downloaddash-f613f9573f044220453069ee81ed8706c6e18225.tar.gz
dash-f613f9573f044220453069ee81ed8706c6e18225.zip
redir: Clear saved redirections in subshell
When we enter a subshell we need to drop the saved redirections
as otherwise a subsequent unwindredir could produce incorrect
results.

This patch does this by simply clearing redirlist.  While we
could actually free the memory underneath for subshells it isn't
really worth the trouble for now.

In order to ensure that this is done in every place where we enter
a subshell, this patch adds a new mkinit hook called forkreset.
The calls closescript, clear_traps and reset_handler are also added
to the forkreset hook.

This fixes a bug where the first two functions weren't called
if we enter a subshell without forking.

Reported-by: Harald van Dijk <harald@gigawatt.nl>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Diffstat (limited to 'src/funcs')
0 files changed, 0 insertions, 0 deletions
c2ab2b2646b4459a71e23c7edb8ebf4877c91&follow=1'>Day 5, part 2June McEnroe 2017-12-05Day 5June McEnroe 2017-12-04Day 4, part 2June McEnroe That ugly sort map though. 2017-12-04Day 4June McEnroe 2017-12-03Day 3, part 2June McEnroe I am super surprised that worked on the first try. 2017-12-03Day 3, clean upJune McEnroe 2017-12-03Day 3June McEnroe This is fucking awful and I'm angry. 2017-12-02Day 2, part 2June McEnroe 2017-12-02Day 2June McEnroe 2017-12-01Day 1, part 2June McEnroe 2017-12-01Day 1June McEnroe 2017-11-27Move to 2016 directoryJune McEnroe