mirror of
https://github.com/tmate-io/tmate.git
synced 2025-08-19 01:46:33 +02:00
Sync OpenBSD patchset 535:
Destroy panes immediately rather than checking them all every loop.
This commit is contained in:
23
server-fn.c
23
server-fn.c
@@ -1,4 +1,4 @@
|
||||
/* $Id: server-fn.c,v 1.96 2009-11-08 23:11:23 tcunha Exp $ */
|
||||
/* $Id: server-fn.c,v 1.97 2009-11-14 17:48:39 tcunha Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
|
||||
@@ -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