Browse Source

output child WEXITSTATUS/WTERMSIG on abnormal termination

Lauri Tirkkonen 6 years ago
parent
commit
096b125db7
1 changed files with 4 additions and 2 deletions
  1. 4 2
      st.c

+ 4 - 2
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);
 }