https://bugzilla.mindrot.org/show_bug.cgi?id=3905
Damien Miller <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |[email protected] --- Comment #2 from Damien Miller <[email protected]> --- I don't think I'm following this properly because I don't see how the deadlock occurs. AFAIK it goes like this: 1. A client sends a bunch of read requests, enough to fill its entire receive window. 2. The server responds to these read requests and the window fills. 3. As the client receives the responses from the server, it will enqueue window adjust messages. These will naturally be sent after all the read requests. Here's where my understanding of the deadlock breaks down. AIUI at this point, the server's channel layer has a bunch of queued data that represents SFTP read requests In OpenSSH the channel layer is completely agnostic to the contents of the queue channel data (for us these aren't just separate layers, but entirely separate binaries). This data in the channel's receive buffer does not prevent the handling of window adjust messages; we consider those not as channel _data_ but separate control messages. As the window adjusts are processed, the server opens up its send window again, allowing the sftp layer to go back to reading requests. Do I misunderstand the setup or are you using a different architecture that treats window adjust messages as more in-band? -- You are receiving this mail because: You are watching the assignee of the bug. You are watching someone on the CC list of the bug. _______________________________________________ openssh-bugs mailing list [email protected] https://lists.mindrot.org/mailman/listinfo/openssh-bugs
