diff options
author | nicm <nicm> | 2017-07-09 22:33:09 +0000 |
---|---|---|
committer | nicm <nicm> | 2017-07-09 22:33:09 +0000 |
commit | 58b796608f3aca60f0abb21e2f96aa55ecb18ab3 (patch) | |
tree | 266b1b168620a41a82b32f5eb180b117ba1aaffa | |
parent | bfaa885f10ec9da42cd3aeb7a3efa999073657fa (diff) | |
download | rtmux-58b796608f3aca60f0abb21e2f96aa55ecb18ab3.tar.gz rtmux-58b796608f3aca60f0abb21e2f96aa55ecb18ab3.tar.bz2 rtmux-58b796608f3aca60f0abb21e2f96aa55ecb18ab3.zip |
Some extra logging to show why tmux might exit.
-rw-r--r-- | cmd-kill-session.c | 4 | ||||
-rw-r--r-- | server-fn.c | 4 | ||||
-rw-r--r-- | server.c | 3 | ||||
-rw-r--r-- | session.c | 8 | ||||
-rw-r--r-- | tmux.h | 2 |
5 files changed, 11 insertions, 10 deletions
diff --git a/cmd-kill-session.c b/cmd-kill-session.c index 87ab8a0a..00ea7789 100644 --- a/cmd-kill-session.c +++ b/cmd-kill-session.c @@ -61,12 +61,12 @@ cmd_kill_session_exec(struct cmd *self, struct cmdq_item *item) RB_FOREACH_SAFE(sloop, sessions, &sessions, stmp) { if (sloop != s) { server_destroy_session(sloop); - session_destroy(sloop); + session_destroy(sloop, __func__); } } } else { server_destroy_session(s); - session_destroy(s); + session_destroy(s, __func__); } return (CMD_RETURN_NORMAL); } diff --git a/server-fn.c b/server-fn.c index b1e52aa8..ccec1b4a 100644 --- a/server-fn.c +++ b/server-fn.c @@ -333,7 +333,7 @@ server_destroy_session_group(struct session *s) else { TAILQ_FOREACH_SAFE(s, &sg->sessions, gentry, s1) { server_destroy_session(s); - session_destroy(s); + session_destroy(s, __func__); } } } @@ -399,7 +399,7 @@ server_check_unattached(void) if (!(s->flags & SESSION_UNATTACHED)) continue; if (options_get_number (s->options, "destroy-unattached")) - session_destroy(s); + session_destroy(s, __func__); } } @@ -249,7 +249,7 @@ server_send_exit(void) } RB_FOREACH_SAFE(s, sessions, &sessions, s1) - session_destroy(s); + session_destroy(s, __func__); } /* Update socket execute permissions based on whether sessions are attached. */ @@ -347,6 +347,7 @@ server_signal(int sig) { int fd; + log_debug("%s: %s", __func__, strsignal(sig)); switch (sig) { case SIGTERM: server_exit = 1; @@ -178,7 +178,7 @@ session_create(const char *prefix, const char *name, int argc, char **argv, if (argc >= 0) { wl = session_new(s, NULL, argc, argv, path, cwd, idx, cause); if (wl == NULL) { - session_destroy(s); + session_destroy(s, __func__); return (NULL); } session_select(s, RB_ROOT(&s->windows)->idx); @@ -229,11 +229,11 @@ session_free(__unused int fd, __unused short events, void *arg) /* Destroy a session. */ void -session_destroy(struct session *s) +session_destroy(struct session *s, const char *from) { struct winlink *wl; - log_debug("session %s destroyed", s->name); + log_debug("session %s destroyed (%s)", s->name, from); s->curw = NULL; RB_REMOVE(sessions, &sessions, s); @@ -419,7 +419,7 @@ session_detach(struct session *s, struct winlink *wl) session_group_synchronize_from(s); if (RB_EMPTY(&s->windows)) { - session_destroy(s); + session_destroy(s, __func__); return (1); } return (0); @@ -2295,7 +2295,7 @@ struct session *session_find_by_id(u_int); struct session *session_create(const char *, const char *, int, char **, const char *, const char *, struct environ *, struct termios *, int, u_int, u_int, char **); -void session_destroy(struct session *); +void session_destroy(struct session *, const char *); void session_add_ref(struct session *, const char *); void session_remove_ref(struct session *, const char *); int session_check_name(const char *); |