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).
Roberto E. Vargas Caballero k0ga@shike2.com
1 files changed,
5 insertions(+),
6 deletions(-)
jump to
M
st.c
→
st.c
@@ -1176,16 +1176,15 @@ }
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