diff options
author | Herbert Xu <herbert@gondor.apana.org.au> | 2007-09-22 20:50:21 +0800 |
---|---|---|
committer | Herbert Xu <herbert@gondor.apana.org.au> | 2007-09-22 21:37:35 +0800 |
commit | 516d6fdcf4ae2feb25c690f5315d3c7b43087da8 (patch) | |
tree | edcd21cfe485feb1cd5edf900c78f66c724e27eb /src | |
parent | [SHELL] Restore foreground process group on exit (diff) | |
download | dash-516d6fdcf4ae2feb25c690f5315d3c7b43087da8.tar.gz dash-516d6fdcf4ae2feb25c690f5315d3c7b43087da8.zip |
[SHELL] Move flushall to the point just before _exit
We need to flush at the very end in case we've generated any errors before that. The flushall call cannot perform a longjmp so it's safe there.
Diffstat (limited to '')
-rw-r--r-- | src/trap.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/trap.c b/src/trap.c index c386db7..58cd0cc 100644 --- a/src/trap.c +++ b/src/trap.c @@ -365,7 +365,6 @@ exitshell(void) trap[0] = NULL; evalstring(p, 0); } - flushall(); out: /* * Disable job control so that whoever had the foreground before we @@ -373,6 +372,7 @@ out: */ if (likely(!setjmp(loc.loc))) setjobctl(0); + flushall(); _exit(status); /* NOTREACHED */ } |