Details
-
Bug
-
Status: Resolved
-
Critical
-
Resolution: Fixed
-
None
-
None
Description
ChannelOutputStream's write() method can get into a state where there is no space in the outgoing window, but there is data to write, so flush() gets invoked. But there is also n data in the buffer itself, so we just create a new buffer, set the length back to zero, and loop back into write(), which calls flush() again because there is no room for the data in the outgoing window.
Attachments
Issue Links
- is depended upon by
-
SSHD-72 Deadlock in ChannelOutputStream
- Resolved