summaryrefslogtreecommitdiff
path: root/session.c
diff options
context:
space:
mode:
authorDamien Miller <djm@mindrot.org>2000-10-15 12:21:32 +1100
committerDamien Miller <djm@mindrot.org>2000-10-15 12:21:32 +1100
commit5993935f76e66c957f02efaa8fc0c8ff8a3f92c9 (patch)
treeb8bc95b6caf3a4eeb66645409be9728c327ea6d9 /session.c
parentb4df15d1e119994ad1f3e73c1283414d2eb30a5f (diff)
- (djm) Fix ssh2 hang on background processes at logout.
Diffstat (limited to 'session.c')
-rw-r--r--session.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/session.c b/session.c
index a12e2a0d..9a213923 100644
--- a/session.c
+++ b/session.c
@@ -1846,9 +1846,13 @@ session_exit_message(Session *s, int status)
* interested in data we write.
* Note that we must not call 'chan_read_failed', since there could
* be some more data waiting in the pipe.
+ * djm - This is no longer true as we have allowed one pass through
+ * the select loop before killing the connection
*/
if (c->ostate != CHAN_OUTPUT_CLOSED)
chan_write_failed(c);
+ if (c->istate != CHAN_INPUT_CLOSED)
+ chan_read_failed(c);
s->chanid = -1;
}