about summary refs log tree commit diff
path: root/library/std/src/sys/sync/mutex/mod.rs
blob: c885b0eabae2d94f1b193884130df1c77707a089 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
cfg_select! {
    any(
        all(target_os = "windows", not(target_vendor = "win7")),
        target_os = "linux",
        target_os = "android",
        target_os = "freebsd",
        target_os = "openbsd",
        target_os = "dragonfly",
        all(target_family = "wasm", target_feature = "atomics"),
        target_os = "hermit",
    ) => {
        mod futex;
        pub use futex::Mutex;
    }
    target_os = "fuchsia" => {
        mod fuchsia;
        pub use fuchsia::Mutex;
    }
    any(
        target_family = "unix",
        target_os = "teeos",
    ) => {
        mod pthread;
        pub use pthread::Mutex;
    }
    all(target_os = "windows", target_vendor = "win7") => {
        mod windows7;
        pub use windows7::{Mutex, raw};
    }
    all(target_vendor = "fortanix", target_env = "sgx") => {
        mod sgx;
        pub use sgx::Mutex;
    }
    target_os = "solid_asp3" => {
        mod itron;
        pub use itron::Mutex;
    }
    target_os = "xous" => {
        mod xous;
        pub use xous::Mutex;
    }
    _ => {
        mod no_threads;
        pub use no_threads::Mutex;
    }
}