浏览代码

output child WEXITSTATUS/WTERMSIG on abnormal termination

Lauri Tirkkonen 6 年之前
父节点
当前提交
096b125db7
共有 1 个文件被更改,包括 4 次插入2 次删除
  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);
 }