aboutsummaryrefslogtreecommitdiff
path: root/embassy-net/src
diff options
context:
space:
mode:
authorDario Nieuwenhuis <[email protected]>2024-08-13 17:45:09 +0000
committerGitHub <[email protected]>2024-08-13 17:45:09 +0000
commit7a26e117ccd5f8669548cc8c2424be4691c1c402 (patch)
tree3de46eb439b29d438a7d6b31ab278a4aca095924 /embassy-net/src
parent55c01818cf7a8f46b8af5f602aeecb9ec8c3b84b (diff)
parente6f4db507d62178ddb05a4569a9f9352a25222e0 (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.rs2
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