From fa617467b12ca519b58878343c604026058d388d Mon Sep 17 00:00:00 2001 From: Nicholas Marriott Date: Tue, 18 Aug 2009 21:14:24 +0000 Subject: [PATCH] options_get_number() is relatively expensive and a check for dead panes happens a lot more often than actually finding one, so instead of getting the option for every check, get it for every dead window found. --- server.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/server.c b/server.c index 059e1b9d..18b11999 100644 --- a/server.c +++ b/server.c @@ -1106,13 +1106,12 @@ void server_check_window(struct window *w) { struct window_pane *wp, *wq; + struct options *oo = &w->options; struct client *c; struct session *s; struct winlink *wl; u_int i, j; - int destroyed, flag; - - flag = options_get_number(&w->options, "remain-on-exit"); + int destroyed; destroyed = 1; @@ -1125,7 +1124,7 @@ server_check_window(struct window *w) * the window to be destroyed (or it'll close when the last * pane dies). */ - if (wp->fd == -1 && !flag) { + if (wp->fd == -1 && options_get_number(oo, "remain-on-exit")) { layout_close_pane(wp); window_remove_pane(w, wp); server_redraw_window(w);