From a2e47b527986af6140a9dfa43c9448347dc0a050 Mon Sep 17 00:00:00 2001 From: nicm Date: Thu, 16 Apr 2020 07:28:36 +0000 Subject: [PATCH] Show signal name when process exits rather than number. --- server-fn.c | 4 ++-- tmux.c | 12 ++++++++++++ tmux.h | 1 + 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/server-fn.c b/server-fn.c index aa4a482b..da1371ae 100644 --- a/server-fn.c +++ b/server-fn.c @@ -334,8 +334,8 @@ server_destroy_pane(struct window_pane *wp, int notify) tim); } else if (WIFSIGNALED(wp->status)) { screen_write_nputs(&ctx, -1, &gc, - "Pane is dead (signal %d, %s)", - WTERMSIG(wp->status), + "Pane is dead (signal %s, %s)", + sig2name(WTERMSIG(wp->status)), tim); } diff --git a/tmux.c b/tmux.c index eac8c12f..c9678d9e 100644 --- a/tmux.c +++ b/tmux.c @@ -28,6 +28,7 @@ #include #include #include +#include #include #include #include @@ -167,6 +168,17 @@ setblocking(int fd, int state) } } +const char * +sig2name(int signo) +{ + static char s[11]; + + if (signo > 0 && signo < NSIG) + return (sys_signame[signo]); + xsnprintf(s, sizeof s, "%d", signo); + return (s); +} + const char * find_cwd(void) { diff --git a/tmux.h b/tmux.h index 73b6b941..98d78a63 100644 --- a/tmux.h +++ b/tmux.h @@ -1725,6 +1725,7 @@ extern int ptm_fd; extern const char *shell_command; int checkshell(const char *); void setblocking(int, int); +const char *sig2name(int); const char *find_cwd(void); const char *find_home(void); const char *getversion(void);