# st

Unnamed repository; edit this file 'description' to name the repository.

| Log | Files | Refs | README | LICENSE

    commit 4418939dd9f3a7b3cfd3071234ed18ae86538f2a
    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