| use crate::ffi::CStr; | |
| use crate::io; | |
| use crate::num::NonZero; | |
| use crate::thread::ThreadInit; | |
| use crate::time::Duration; | |
| // Silence dead code warnings for the otherwise unused ThreadInit::init() call. | |
| #[expect(dead_code)] | |
| fn dummy_init_call(init: Box<ThreadInit>) { | |
| drop(init.init()); | |
| } | |
| pub struct Thread(!); | |
| pub const DEFAULT_MIN_STACK_SIZE: usize = 64 * 1024; | |
| impl Thread { | |
| // unsafe: see thread::Builder::spawn_unchecked for safety requirements | |
| pub unsafe fn new(_stack: usize, _init: Box<ThreadInit>) -> io::Result<Thread> { | |
| Err(io::Error::UNSUPPORTED_PLATFORM) | |
| } | |
| pub fn join(self) { | |
| self.0 | |
| } | |
| } | |
| pub fn available_parallelism() -> io::Result<NonZero<usize>> { | |
| Err(io::Error::UNKNOWN_THREAD_COUNT) | |
| } | |
| pub fn current_os_id() -> Option<u64> { | |
| None | |
| } | |
| pub fn yield_now() { | |
| // do nothing | |
| } | |
| pub fn set_name(_name: &CStr) { | |
| // nope | |
| } | |
| pub fn sleep(_dur: Duration) { | |
| panic!("can't sleep"); | |
| } |