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 | 
