Sophie

Sophie

distrib > Fedora > 18 > i386 > by-pkgid > a3cf476e2484c108c690618ba5d3caa3 > files > 6

openssh-6.1p1-11.fc18.src.rpm

diff -up openssh-5.6p1/channels.c.exit-deadlock openssh-5.6p1/channels.c
--- openssh-5.6p1/channels.c.exit-deadlock	2010-08-05 15:09:48.000000000 +0200
+++ openssh-5.6p1/channels.c	2010-08-23 12:41:43.000000000 +0200
@@ -1647,6 +1647,10 @@ channel_handle_wfd(Channel *c, fd_set *r
 	u_int dlen, olen = 0;
 	int len;
 
+	if(c->wfd != -1 && buffer_len(&c->output) > 0 && c->ostate == CHAN_OUTPUT_WAIT_DRAIN) {
+		debug("channel %d: forcing write", c->self);
+		FD_SET(c->wfd, writeset);
+	}
 	/* Send buffered output data to the socket. */
 	if (c->wfd != -1 &&
 	    FD_ISSET(c->wfd, writeset) &&