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).master
parent
769d481807
commit
ec3268961d
11
st.c
11
st.c
|
@ -1176,16 +1176,15 @@ execsh(void) {
|
||||||
|
|
||||||
void
|
void
|
||||||
sigchld(int a) {
|
sigchld(int a) {
|
||||||
int stat = 0;
|
int stat, ret;
|
||||||
|
|
||||||
if(waitpid(pid, &stat, 0) < 0)
|
if(waitpid(pid, &stat, 0) < 0)
|
||||||
die("Waiting for pid %hd failed: %s\n", pid, strerror(errno));
|
die("Waiting for pid %hd failed: %s\n", pid, strerror(errno));
|
||||||
|
|
||||||
if(WIFEXITED(stat)) {
|
ret = WIFEXITED(stat) ? WEXITSTATUS(stat) : EXIT_FAILURE;
|
||||||
exit(WEXITSTATUS(stat));
|
if (ret != EXIT_SUCCESS)
|
||||||
} else {
|
die("child finished with error '%d'\n", stat);
|
||||||
exit(EXIT_FAILURE);
|
exit(EXIT_SUCCESS);
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
|
|
Reference in New Issue