Commit Diff


commit - a73a8baa8befcd9ee84c8ca5a806407c550ebb2e
commit + 986364d26ba1975d29998bfe6a8268d29f20bd86
blob - 585ec3df3bcc96650c37704b9a4b93703bb990c3
blob + 8a164634eaf5b24148df8b8910fce1d44931becf
--- main.c
+++ main.c
@@ -444,7 +444,10 @@ extends_sigchld(int fd, short event, void *arg)
 					fatal("kill(SIGCONT)");
 				return;
 			}
-			code = WEXITSTATUS(st);
+			if (WIFSIGNALED(st))
+				code = 128 + WTERMSIG(st);
+			else
+				code = WEXITSTATUS(st);
 			if (imsg_compose(&pc, IMSG_RESULT, cmd->id, 0, -1,
 			    &code, sizeof(code)) == -1)
 				fatal("imsg_compose");