mirror of
				https://github.com/tmux/tmux.git
				synced 2025-11-04 00:56:10 +00: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