From 36c574019f36074737637d9c0d8129d9f0e6dc59 Mon Sep 17 00:00:00 2001 From: datdenkikniet Date: Thu, 13 Mar 2025 22:48:53 +0100 Subject: [PATCH] rtic-sync: add explicit check for being closed --- rtic-sync/src/channel.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/rtic-sync/src/channel.rs b/rtic-sync/src/channel.rs index e33725bf988..e4dc835b051 100644 --- a/rtic-sync/src/channel.rs +++ b/rtic-sync/src/channel.rs @@ -332,6 +332,10 @@ impl Sender<'_, T, N> { let idx = poll_fn(|cx| { // Do all this in one critical section, else there can be race conditions critical_section::with(|cs| { + if self.is_closed() { + return Poll::Ready(Err(())); + } + let wq_empty = self.0.wait_queue.is_empty(); let freeq_empty = self.0.access(cs).freeq.is_empty();