std/sys/sync/rwlock/
mod.rs

1cfg_select! {
2    any(
3        all(target_os = "windows", not(target_vendor = "win7")),
4        target_os = "linux",
5        target_os = "android",
6        target_os = "freebsd",
7        target_os = "openbsd",
8        target_os = "dragonfly",
9        target_os = "fuchsia",
10        all(target_family = "wasm", target_feature = "atomics"),
11        target_os = "hermit",
12       target_os = "motor",
13    ) => {
14        mod futex;
15        pub use futex::RwLock;
16    }
17    any(
18        target_family = "unix",
19        all(target_os = "windows", target_vendor = "win7"),
20        all(target_vendor = "fortanix", target_env = "sgx"),
21        target_os = "xous",
22        target_os = "teeos",
23    ) => {
24        mod queue;
25        pub use queue::RwLock;
26    }
27    target_os = "solid_asp3" => {
28        mod solid;
29        pub use solid::RwLock;
30    }
31    _ => {
32        mod no_threads;
33        pub use no_threads::RwLock;
34    }
35}