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);
|
signal(SIGALRM, SIG_DFL);
|
||||||
|
|
||||||
execvp(prog, args);
|
execvp(prog, args);
|
||||||
exit(EXIT_FAILURE);
|
_exit(EXIT_FAILURE);
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
Loading…
Reference in a new issue