summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--st.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/st.c b/st.c
index a51d19c..b8e6077 100644
--- a/st.c
+++ b/st.c
@@ -731,8 +731,10 @@ sigchld(int a)
if (pid != p)
return;
- if (!WIFEXITED(stat) || WEXITSTATUS(stat))
- die("child finished with error '%d'\n", stat);
+ if (WIFEXITED(stat) && WEXITSTATUS(stat))
+ die("child exited with status %d\n", WEXITSTATUS(stat));
+ else if (WIFSIGNALED(stat))
+ die("child terminated due to signal %d\n", WTERMSIG(stat));
exit(0);
}