From 670ab86b4e200aa63e78c5970e4982157644ff1e Mon Sep 17 00:00:00 2001 From: Taiki Endo Date: Sun, 8 Dec 2024 22:21:21 +0900 Subject: [PATCH] Remove optimistic spinning from Context::wait_until Co-authored-by: Ibraheem Ahmed --- crossbeam-channel/src/context.rs | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/crossbeam-channel/src/context.rs b/crossbeam-channel/src/context.rs index 9dec65c4c..13046ed85 100644 --- a/crossbeam-channel/src/context.rs +++ b/crossbeam-channel/src/context.rs @@ -138,21 +138,6 @@ impl Context { /// If the deadline is reached, `Selected::Aborted` will be selected. #[inline] pub fn wait_until(&self, deadline: Option) -> Selected { - // Spin for a short time, waiting until an operation is selected. - let backoff = Backoff::new(); - loop { - let sel = Selected::from(self.inner.select.load(Ordering::Acquire)); - if sel != Selected::Waiting { - return sel; - } - - if backoff.is_completed() { - break; - } else { - backoff.snooze(); - } - } - loop { // Check whether an operation has been selected. let sel = Selected::from(self.inner.select.load(Ordering::Acquire));