exit() will also unwind the atexit() functions. This is bad because if exec*() fails the process is in an inconsistent state.
@@ -1190,7 +1190,7 @@ execsh(void) {
signal(SIGALRM, SIG_DFL);
execvp(prog, args);
- exit(EXIT_FAILURE);
+ _exit(EXIT_FAILURE);
}
void