Call _exit() instead of exit() if exec*() fails
exit() will also unwind the atexit() functions. This is bad because if exec*() fails the process is in an inconsistent state.
This commit is contained in:
parent
bafbba56cd
commit
4418939dd9
1 changed files with 1 additions and 1 deletions
2
st.c
2
st.c
|
@ -1190,7 +1190,7 @@ execsh(void) {
|
|||
signal(SIGALRM, SIG_DFL);
|
||||
|
||||
execvp(prog, args);
|
||||
exit(EXIT_FAILURE);
|
||||
_exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
void
|
||||
|
|
Loading…
Reference in a new issue