summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--server-fn.c4
-rw-r--r--tmux.c12
-rw-r--r--tmux.h1
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 <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];
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);