diff options
| author | Dario Nieuwenhuis <[email protected]> | 2024-08-13 17:45:09 +0000 |
|---|---|---|
| committer | GitHub <[email protected]> | 2024-08-13 17:45:09 +0000 |
| commit | 7a26e117ccd5f8669548cc8c2424be4691c1c402 (patch) | |
| tree | 3de46eb439b29d438a7d6b31ab278a4aca095924 /embassy-net/src | |
| parent | 55c01818cf7a8f46b8af5f602aeecb9ec8c3b84b (diff) | |
| parent | e6f4db507d62178ddb05a4569a9f9352a25222e0 (diff) | |
Merge pull request #3198 from sammhicks/main
net/tcp: fix flush() waiting forever if socket is reset with pending write data
Diffstat (limited to 'embassy-net/src')
| -rw-r--r-- | embassy-net/src/tcp.rs | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/embassy-net/src/tcp.rs b/embassy-net/src/tcp.rs index be0e1a129..18200287e 100644 --- a/embassy-net/src/tcp.rs +++ b/embassy-net/src/tcp.rs | |||
| @@ -515,7 +515,7 @@ impl<'d> TcpIo<'d> { | |||
| 515 | async fn flush(&mut self) -> Result<(), Error> { | 515 | async fn flush(&mut self) -> Result<(), Error> { |
| 516 | poll_fn(move |cx| { | 516 | poll_fn(move |cx| { |
| 517 | self.with_mut(|s, _| { | 517 | self.with_mut(|s, _| { |
| 518 | let data_pending = s.send_queue() > 0; | 518 | let data_pending = (s.send_queue() > 0) && s.state() != tcp::State::Closed; |
| 519 | let fin_pending = matches!( | 519 | let fin_pending = matches!( |
| 520 | s.state(), | 520 | s.state(), |
| 521 | tcp::State::FinWait1 | tcp::State::Closing | tcp::State::LastAck | 521 | tcp::State::FinWait1 | tcp::State::Closing | tcp::State::LastAck |
