use crate::runtime::scheduler; #[track_caller] pub(crate) fn block_in_place(f: F) -> R where F: FnOnce() -> R, { #[cfg(tokio_unstable)] { use crate::runtime::{Handle, RuntimeFlavor::MultiThreadAlt}; match Handle::try_current().map(|h| h.runtime_flavor()) { Ok(MultiThreadAlt) => { return scheduler::multi_thread_alt::block_in_place(f); } _ => {} } } scheduler::multi_thread::block_in_place(f) }