st

personal fork of st
git clone git://git.alexkarle.com.com/st
Log | Files | Refs | README | LICENSE

commit 4418939dd9f3a7b3cfd3071234ed18ae86538f2a (patch)
parent bafbba56cd5735c680676db2adf6f614ba61356f
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:
Mst.c | 2+-
1 file changed, 1 insertion(+), 1 deletion(-)

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