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 a12e2a0d8..9a213923c 100644
--- a/session.c
+++ b/session.c
@@ -1846,9 +1846,13 @@ session_exit_message(Session *s, int status)
1846 * interested in data we write. 1846 * interested in data we write.
1847 * Note that we must not call 'chan_read_failed', since there could 1847 * Note that we must not call 'chan_read_failed', since there could
1848 * be some more data waiting in the pipe. 1848 * be some more data waiting in the pipe.
1849 * djm - This is no longer true as we have allowed one pass through
1850 * the select loop before killing the connection
1849 */ 1851 */
1850 if (c->ostate != CHAN_OUTPUT_CLOSED) 1852 if (c->ostate != CHAN_OUTPUT_CLOSED)
1851 chan_write_failed(c); 1853 chan_write_failed(c);
1854 if (c->istate != CHAN_INPUT_CLOSED)
1855 chan_read_failed(c);
1852 s->chanid = -1; 1856 s->chanid = -1;
1853} 1857}
1854 1858