std/sys/sync/thread_parking/
mod.rs

1cfg_select! {
2    any(
3        all(target_os = "windows", not(target_vendor = "win7")),
4        target_os = "linux",
5        target_os = "android",
6        all(target_arch = "wasm32", target_feature = "atomics"),
7        target_os = "freebsd",
8        target_os = "openbsd",
9        target_os = "dragonfly",
10        target_os = "fuchsia",
11        target_os = "hermit",
12    ) => {
13        mod futex;
14        pub use futex::Parker;
15    }
16    any(
17        target_os = "netbsd",
18        all(target_vendor = "fortanix", target_env = "sgx"),
19        target_os = "solid_asp3",
20    ) => {
21        mod id;
22        pub use id::Parker;
23    }
24    target_vendor = "win7" => {
25        mod windows7;
26        pub use windows7::Parker;
27    }
28    all(target_vendor = "apple", not(miri)) => {
29        // Doesn't work in Miri, see <https://github.com/rust-lang/miri/issues/2589>.
30        mod darwin;
31        pub use darwin::Parker;
32    }
33    target_os = "xous" => {
34        mod xous;
35        pub use xous::Parker;
36    }
37    target_family = "unix" => {
38        mod pthread;
39        pub use pthread::Parker;
40    }
41    _ => {
42        mod unsupported;
43        pub use unsupported::Parker;
44    }
45}