summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cmd-kill-session.c4
-rw-r--r--server-fn.c4
-rw-r--r--server.c3
-rw-r--r--session.c8
-rw-r--r--tmux.h2
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__);
}
}
diff --git a/server.c b/server.c
index 294d2848..323ea37e 100644
--- a/server.c
+++ b/server.c
@@ -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;
diff --git a/session.c b/session.c
index 9fa76dc3..a675ae3d 100644
--- a/session.c
+++ b/session.c
@@ -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);
diff --git a/tmux.h b/tmux.h
index 1b515f58..ce666230 100644
--- a/tmux.h
+++ b/tmux.h
@@ -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 *);