pinosaur
/
st.git
/ blobdiff
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add error message when child exits whit error
[st.git]
/
st.c
diff --git
a/st.c
b/st.c
index
a2703f4
..
45bc89d
100644
(file)
--- a/
st.c
+++ b/
st.c
@@
-1176,16
+1176,15
@@
execsh(void) {
void
sigchld(int a) {
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(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
}
void