diff --git a/tokio/src/loom/std/mod.rs b/tokio/src/loom/std/mod.rs index b29cbeeb89c..8b6e8bc19d7 100644 --- a/tokio/src/loom/std/mod.rs +++ b/tokio/src/loom/std/mod.rs @@ -93,4 +93,17 @@ pub(crate) mod sys { } } -pub(crate) use std::thread; +pub(crate) mod thread { + #[inline] + pub(crate) fn yield_now() { + // TODO: once we bump MSRV to 1.49+, use `hint::spin_loop` instead. + #[allow(deprecated)] + std::sync::atomic::spin_loop_hint(); + } + + #[allow(unused_imports)] + pub(crate) use std::thread::{ + current, panicking, park, park_timeout, sleep, spawn, Builder, JoinHandle, LocalKey, + Result, Thread, ThreadId, + }; +} diff --git a/tokio/src/sync/mpsc/block.rs b/tokio/src/sync/mpsc/block.rs index 7a0873bc4ac..6e7b70058c9 100644 --- a/tokio/src/sync/mpsc/block.rs +++ b/tokio/src/sync/mpsc/block.rs @@ -343,13 +343,7 @@ impl Block { Err(curr) => curr, }; - #[cfg(all(test, loom))] crate::loom::thread::yield_now(); - - // TODO: once we bump MSRV to 1.49+, use `hint::spin_loop` instead. - #[cfg(not(all(test, loom)))] - #[allow(deprecated)] - std::sync::atomic::spin_loop_hint(); } } }