Call _exit() instead of exit() if exec*() fails - st - Simple Terminal (DIR) Log (DIR) Files (DIR) Refs (DIR) README (DIR) LICENSE --- (DIR) commit 4418939dd9f3a7b3cfd3071234ed18ae86538f2a (DIR) parent bafbba56cd5735c680676db2adf6f614ba61356f (HTM) Author: sin <sin@2f30.org> Date: Tue, 11 Nov 2014 18:29:11 +0000 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. Diffstat: st.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- (DIR) diff --git a/st.c b/st.c @@ -1190,7 +1190,7 @@ execsh(void) { signal(SIGALRM, SIG_DFL); execvp(prog, args); - exit(EXIT_FAILURE); + _exit(EXIT_FAILURE); } void