There was an error while loading. Please reload this page.
1 parent 9ab73ae commit f5112c4Copy full SHA for f5112c4
1 file changed
src/stream_transport.rs
@@ -1628,12 +1628,14 @@ impl StreamTransportCore {
1628
return;
1629
}
1630
1631
- self.set_closing();
1632
- self.set_write_backpressure_active(false);
1633
- self.clear_write_buffer(false);
+ // Queue the write error before waking a paused reader. Otherwise the
+ // reader can observe `closing` and race this event with a clean loss.
1634
self.enqueue_pending_read_event(PendingReadEvent::ConnectionLost(
1635
err.map(|err| err.to_string()),
1636
));
+ self.set_closing();
1637
+ self.set_write_backpressure_active(false);
1638
+ self.clear_write_buffer(false);
1639
let _ = self.writer_tx.send(WriterCommand::Stop);
1640
1641
0 commit comments