std/sys/pal/unsupported/
thread.rs

1use super::unsupported;
2use crate::ffi::CStr;
3use crate::io;
4use crate::num::NonZero;
5use crate::time::{Duration, Instant};
6
7pub struct Thread(!);
8
9pub const DEFAULT_MIN_STACK_SIZE: usize = 64 * 1024;
10
11impl Thread {
12    // unsafe: see thread::Builder::spawn_unchecked for safety requirements
13    pub unsafe fn new(_stack: usize, _p: Box<dyn FnOnce()>) -> io::Result<Thread> {
14        unsupported()
15    }
16
17    pub fn yield_now() {
18        // do nothing
19    }
20
21    pub fn set_name(_name: &CStr) {
22        // nope
23    }
24
25    pub fn sleep(_dur: Duration) {
26        panic!("can't sleep");
27    }
28
29    pub fn sleep_until(_deadline: Instant) {
30        panic!("can't sleep");
31    }
32
33    pub fn join(self) {
34        self.0
35    }
36}
37
38pub fn available_parallelism() -> io::Result<NonZero<usize>> {
39    unsupported()
40}