diff options
author | sin <sin@2f30.org> | 2014-11-11 18:29:11 +0000 |
---|---|---|
committer | Roberto E. Vargas Caballero <k0ga@shike2.com> | 2014-11-19 18:52:42 +0100 |
commit | 4418939dd9f3a7b3cfd3071234ed18ae86538f2a (patch) | |
tree | 69d883225303d156e0afcacd96b12612d55d57c8 | |
parent | bafbba56cd5735c680676db2adf6f614ba61356f (diff) | |
download | st-4418939dd9f3a7b3cfd3071234ed18ae86538f2a.tar.gz st-4418939dd9f3a7b3cfd3071234ed18ae86538f2a.tar.bz2 st-4418939dd9f3a7b3cfd3071234ed18ae86538f2a.zip |
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.
-rw-r--r-- | st.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -1190,7 +1190,7 @@ execsh(void) { signal(SIGALRM, SIG_DFL); execvp(prog, args); - exit(EXIT_FAILURE); + _exit(EXIT_FAILURE); } void |