mirror of
				https://github.com/tmux/tmux.git
				synced 2025-11-04 00:56:10 +00:00 
			
		
		
		
	Try write even if read gets signal, some other tweaks.
This commit is contained in:
		
							
								
								
									
										3
									
								
								CHANGES
									
									
									
									
									
								
							
							
						
						
									
										3
									
								
								CHANGES
									
									
									
									
									
								
							@@ -186,5 +186,4 @@
 | 
			
		||||
  (including mutt, emacs). No status bar yet and no key remapping or other
 | 
			
		||||
  customisation.
 | 
			
		||||
 | 
			
		||||
$Id: CHANGES,v 1.57 2007-10-31 14:26:26 nicm Exp $
 | 
			
		||||
 | 
			
		||||
$Id: CHANGES,v 1.58 2007-11-07 19:41:17 nicm Exp $
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										1
									
								
								TODO
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								TODO
									
									
									
									
									
								
							@@ -55,6 +55,7 @@
 | 
			
		||||
	rename sessions
 | 
			
		||||
	kill session (not bound by default)
 | 
			
		||||
- fix most(1) problems after scrolling
 | 
			
		||||
- fix mutt problems with redraw (mutt's) status line when reading mail
 | 
			
		||||
- check for some reqd terminfo caps on startup
 | 
			
		||||
 | 
			
		||||
-- For 0.2 --------------------------------------------------------------------
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,4 @@
 | 
			
		||||
/* $Id: buffer-poll.c,v 1.1.1.1 2007-07-09 19:04:12 nicm Exp $ */
 | 
			
		||||
/* $Id: buffer-poll.c,v 1.2 2007-11-07 19:41:17 nicm Exp $ */
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
			
		||||
@@ -40,8 +40,7 @@ buffer_poll(struct pollfd *pfd, struct buffer *in, struct buffer *out)
 | 
			
		||||
		if (n == -1) {
 | 
			
		||||
			if (errno != EINTR && errno != EAGAIN)
 | 
			
		||||
				return (-1);
 | 
			
		||||
			return (0);
 | 
			
		||||
		}
 | 
			
		||||
		} else
 | 
			
		||||
			buffer_add(in, n);
 | 
			
		||||
	}
 | 
			
		||||
	if (BUFFER_USED(out) > 0 && pfd->revents & POLLOUT) {
 | 
			
		||||
@@ -49,8 +48,7 @@ buffer_poll(struct pollfd *pfd, struct buffer *in, struct buffer *out)
 | 
			
		||||
		if (n == -1) {
 | 
			
		||||
			if (errno != EINTR && errno != EAGAIN)
 | 
			
		||||
				return (-1);
 | 
			
		||||
			return (0);
 | 
			
		||||
		}
 | 
			
		||||
		} else
 | 
			
		||||
			buffer_remove(out, n);
 | 
			
		||||
	}
 | 
			
		||||
	return (0);
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										12
									
								
								window.c
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								window.c
									
									
									
									
									
								
							@@ -1,4 +1,4 @@
 | 
			
		||||
/* $Id: window.c,v 1.25 2007-10-31 14:26:26 nicm Exp $ */
 | 
			
		||||
/* $Id: window.c,v 1.26 2007-11-07 19:41:17 nicm Exp $ */
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
 | 
			
		||||
@@ -45,17 +45,17 @@
 | 
			
		||||
 *
 | 
			
		||||
 * A window has two buffers attached, these are filled and emptied by the main
 | 
			
		||||
 * server poll loop. Output data is received from pty's in screen format,
 | 
			
		||||
 * translated and returned as a series of escape sequences and strings.
 | 
			
		||||
 * Input data is received in screen format and written directly to the pty
 | 
			
		||||
 * (translation is done in the client).
 | 
			
		||||
 * translated and returned as a series of escape sequences and strings via
 | 
			
		||||
 * input_parse (in input.c). Input data is received as key codes and written
 | 
			
		||||
 * directly via input_translate_key.
 | 
			
		||||
 *
 | 
			
		||||
 * Each window also has a "virtual" screen (screen.c) which contains the
 | 
			
		||||
 * current state and is redisplayed when the window is reattached to a client.
 | 
			
		||||
 *
 | 
			
		||||
 * Windows are stored directly on a global array and wrapped in any number of
 | 
			
		||||
 * winlink structs to be linked onto local session RB trees A reference count
 | 
			
		||||
 * winlink structs to be linked onto local session RB trees. A reference count
 | 
			
		||||
 * is maintained and a window removed from the global list and destroyed when
 | 
			
		||||
 * it reaches zero
 | 
			
		||||
 * it reaches zero.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
/* Global window list. */
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user