diff options
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | session.c | 5 |
2 files changed, 5 insertions, 3 deletions
@@ -1,3 +1,6 @@ | |||
1 | 20001129 | ||
2 | - (djm) Fix(?) the ssh hang-on-logout/data-from-child race | ||
3 | |||
1 | 20001125 | 4 | 20001125 |
2 | - (djm) Give up privs when reading seed file | 5 | - (djm) Give up privs when reading seed file |
3 | 6 | ||
@@ -1898,13 +1898,12 @@ session_exit_message(Session *s, int status) | |||
1898 | * interested in data we write. | 1898 | * interested in data we write. |
1899 | * Note that we must not call 'chan_read_failed', since there could | 1899 | * Note that we must not call 'chan_read_failed', since there could |
1900 | * be some more data waiting in the pipe. | 1900 | * be some more data waiting in the pipe. |
1901 | * djm - This is no longer true as we have allowed one pass through | ||
1902 | * the select loop before killing the connection | ||
1903 | */ | 1901 | */ |
1904 | if (c->ostate != CHAN_OUTPUT_CLOSED) | 1902 | if (c->ostate != CHAN_OUTPUT_CLOSED) |
1905 | chan_write_failed(c); | 1903 | chan_write_failed(c); |
1906 | if (c->istate != CHAN_INPUT_CLOSED) | 1904 | if (c->istate != CHAN_INPUT_CLOSED) |
1907 | chan_read_failed(c); | 1905 | c->istate = CHAN_INPUT_WAIT_DRAIN; |
1906 | |||
1908 | s->chanid = -1; | 1907 | s->chanid = -1; |
1909 | } | 1908 | } |
1910 | 1909 | ||