diff options
author | nicm <nicm> | 2020-04-16 07:28:36 +0000 |
---|---|---|
committer | nicm <nicm> | 2020-04-16 07:28:36 +0000 |
commit | a2e47b527986af6140a9dfa43c9448347dc0a050 (patch) | |
tree | 1b5bbace14b3e992fdff3043fa4558c5b51bd8de | |
parent | b6dfca9b4d5bae8860c38bb6835c012ad0225fa3 (diff) | |
download | rtmux-a2e47b527986af6140a9dfa43c9448347dc0a050.tar.gz rtmux-a2e47b527986af6140a9dfa43c9448347dc0a050.tar.bz2 rtmux-a2e47b527986af6140a9dfa43c9448347dc0a050.zip |
Show signal name when process exits rather than number.
-rw-r--r-- | server-fn.c | 4 | ||||
-rw-r--r-- | tmux.c | 12 | ||||
-rw-r--r-- | 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); } @@ -28,6 +28,7 @@ #include <locale.h> #include <paths.h> #include <pwd.h> +#include <signal.h> #include <stdlib.h> #include <string.h> #include <time.h> @@ -168,6 +169,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) { char resolved1[PATH_MAX], resolved2[PATH_MAX]; @@ -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); |