tAdd error message when child exits whit error - st - [fork] customized build o… | |
git clone git://src.adamsgaard.dk/st | |
Log | |
Files | |
Refs | |
README | |
LICENSE | |
--- | |
commit ec3268961d1dc4072f6caa6f97db5436da2ff411 | |
parent 769d48180747c3255653360d161c77ec2a2e8d13 | |
Author: Roberto E. Vargas Caballero <[email protected]> | |
Date: Mon, 4 Aug 2014 22:07:04 +0200 | |
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). | |
Diffstat: | |
M st.c | 11 +++++------ | |
1 file changed, 5 insertions(+), 6 deletions(-) | |
--- | |
diff --git a/st.c b/st.c | |
t@@ -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 |