Blob Blame History Raw
--- openssh-4.0p1/channels.c.exit-deadlock	2005-03-01 11:24:33.000000000 +0100
+++ openssh-4.0p1/channels.c	2005-04-05 22:25:15.197226237 +0200
@@ -1403,6 +1403,10 @@
 	u_int dlen;
 	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) &&