mirror of
https://github.com/tmux/tmux.git
synced 2025-09-02 13:37:12 +00:00
Destroy panes immediately rather than checking them all every loop.
This commit is contained in:
21
server-fn.c
21
server-fn.c
@ -316,6 +316,27 @@ server_unlink_window(struct session *s, struct winlink *wl)
|
||||
server_redraw_session_group(s);
|
||||
}
|
||||
|
||||
void
|
||||
server_destroy_pane(struct window_pane *wp)
|
||||
{
|
||||
struct window *w = wp->window;
|
||||
|
||||
close(wp->fd);
|
||||
bufferevent_free(wp->event);
|
||||
wp->fd = -1;
|
||||
|
||||
if (options_get_number(&w->options, "remain-on-exit"))
|
||||
return;
|
||||
|
||||
layout_close_pane(wp);
|
||||
window_remove_pane(w, wp);
|
||||
|
||||
if (TAILQ_EMPTY(&w->panes))
|
||||
server_kill_window(w);
|
||||
else
|
||||
server_redraw_window(w);
|
||||
}
|
||||
|
||||
void
|
||||
server_destroy_session_group(struct session *s)
|
||||
{
|
||||
|
Reference in New Issue
Block a user