diff options
Diffstat (limited to 'channels.c')
-rw-r--r-- | channels.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/channels.c b/channels.c index f03cf92b4..c140b77dc 100644 --- a/channels.c +++ b/channels.c | |||
@@ -17,7 +17,7 @@ | |||
17 | */ | 17 | */ |
18 | 18 | ||
19 | #include "includes.h" | 19 | #include "includes.h" |
20 | RCSID("$Id: channels.c,v 1.22 2000/04/06 02:32:38 damien Exp $"); | 20 | RCSID("$Id: channels.c,v 1.23 2000/04/12 08:45:06 damien Exp $"); |
21 | 21 | ||
22 | #include "ssh.h" | 22 | #include "ssh.h" |
23 | #include "packet.h" | 23 | #include "packet.h" |
@@ -674,7 +674,7 @@ channel_handle_efd(Channel *c, fd_set * readset, fd_set * writeset) | |||
674 | int | 674 | int |
675 | channel_check_window(Channel *c, fd_set * readset, fd_set * writeset) | 675 | channel_check_window(Channel *c, fd_set * readset, fd_set * writeset) |
676 | { | 676 | { |
677 | if (!(c->flags & CHAN_CLOSE_SENT) && | 677 | if (!(c->flags & (CHAN_CLOSE_SENT|CHAN_CLOSE_RCVD)) && |
678 | c->local_window < c->local_window_max/2 && | 678 | c->local_window < c->local_window_max/2 && |
679 | c->local_consumed > 0) { | 679 | c->local_consumed > 0) { |
680 | packet_start(SSH2_MSG_CHANNEL_WINDOW_ADJUST); | 680 | packet_start(SSH2_MSG_CHANNEL_WINDOW_ADJUST); |
@@ -837,7 +837,8 @@ channel_output_poll() | |||
837 | c->istate != CHAN_INPUT_WAIT_DRAIN) | 837 | c->istate != CHAN_INPUT_WAIT_DRAIN) |
838 | continue; | 838 | continue; |
839 | } | 839 | } |
840 | if (compat20 && (c->flags & CHAN_CLOSE_SENT)) { | 840 | if (compat20 && |
841 | (c->flags & (CHAN_CLOSE_SENT|CHAN_CLOSE_RCVD))) { | ||
841 | debug("channel: %d: no data after CLOSE", c->self); | 842 | debug("channel: %d: no data after CLOSE", c->self); |
842 | continue; | 843 | continue; |
843 | } | 844 | } |