1 use crate::runtime::scheduler; 2 3 #[track_caller] block_in_place<F, R>(f: F) -> R where F: FnOnce() -> R,4pub(crate) fn block_in_place<F, R>(f: F) -> R 5 where 6 F: FnOnce() -> R, 7 { 8 #[cfg(tokio_unstable)] 9 { 10 use crate::runtime::{Handle, RuntimeFlavor::MultiThreadAlt}; 11 12 match Handle::try_current().map(|h| h.runtime_flavor()) { 13 Ok(MultiThreadAlt) => { 14 return scheduler::multi_thread_alt::block_in_place(f); 15 } 16 _ => {} 17 } 18 } 19 20 scheduler::multi_thread::block_in_place(f) 21 } 22