From: Roberto E. Vargas Caballero Date: Mon, 4 Aug 2014 20:07:04 +0000 (+0200) Subject: Add error message when child exits whit error X-Git-Url: https://jasonwoof.com/gitweb/?p=st.git;a=commitdiff_plain;h=ec3268961d1dc4072f6caa6f97db5436da2ff411;hp=769d48180747c3255653360d161c77ec2a2e8d13 Add error message when child exits whit error Master proccess was not showing any error message when the child died with an error, and it was very confusing for the user (for example with incorrect -e command). --- diff --git a/st.c b/st.c index a2703f4..45bc89d 100644 --- a/st.c +++ b/st.c @@ -1176,16 +1176,15 @@ execsh(void) { void sigchld(int a) { - int stat = 0; + int stat, ret; if(waitpid(pid, &stat, 0) < 0) die("Waiting for pid %hd failed: %s\n", pid, strerror(errno)); - if(WIFEXITED(stat)) { - exit(WEXITSTATUS(stat)); - } else { - exit(EXIT_FAILURE); - } + ret = WIFEXITED(stat) ? WEXITSTATUS(stat) : EXIT_FAILURE; + if (ret != EXIT_SUCCESS) + die("child finished with error '%d'\n", stat); + exit(EXIT_SUCCESS); } void