diff options
| author | datdenkikniet <jcdra1@gmail.com> | 2025-03-09 20:00:10 +0100 |
|---|---|---|
| committer | Emil Fresk <emil.fresk@gmail.com> | 2025-03-12 19:04:14 +0000 |
| commit | 0a01fde4bd7ff25b0f3a36a240b89553308b6db6 (patch) | |
| tree | c0bd869e515266943a7f78e6f707c99ab39b2d1e | |
| parent | 1123fd8731417b657771fcd9c579bbf4c309db1e (diff) | |
Fix #780
| -rw-r--r-- | rtic-sync/src/channel.rs | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/rtic-sync/src/channel.rs b/rtic-sync/src/channel.rs index 65a83d9..aca8cf4 100644 --- a/rtic-sync/src/channel.rs +++ b/rtic-sync/src/channel.rs @@ -432,16 +432,16 @@ impl<T, const N: usize> Receiver<'_, T, N> { critical_section::with(|cs| { assert!(!self.0.access(cs).freeq.is_full()); unsafe { self.0.access(cs).freeq.push_back_unchecked(rs) } - }); - fence(Ordering::SeqCst); + fence(Ordering::SeqCst); - // If someone is waiting in the WaiterQueue, wake the first one up. - if let Some(wait_head) = self.0.wait_queue.pop() { - wait_head.wake(); - } + // If someone is waiting in the WaiterQueue, wake the first one up. + if let Some(wait_head) = self.0.wait_queue.pop() { + wait_head.wake(); + } - Ok(r) + Ok(r) + }) } else if self.is_closed() { Err(ReceiveError::NoSender) } else { |
