Commit ec32689

Roberto E. Vargas Caballero <k0ga@shike2.com>
2014-08-04 16:07:04
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).
1 parent 769d481
Changed files (1)
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