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
//! Thread-associated operations.

#[cfg(not(target_os = "redox"))]
mod clock;
#[cfg(linux_raw)]
mod futex;
#[cfg(any(target_os = "android", target_os = "linux"))]
mod id;

#[cfg(linux_raw)]
pub use futex::{futex, FutexFlags, FutexOperation};

#[cfg(any(target_os = "android", target_os = "linux"))]
pub use id::gettid;

#[cfg(not(target_os = "redox"))]
pub use clock::{nanosleep, NanosleepRelativeResult, Timespec};

#[cfg(not(any(
    target_os = "dragonfly",
    target_os = "emscripten",
    target_os = "freebsd",
    target_os = "ios",
    target_os = "macos",
    target_os = "openbsd",
    target_os = "redox",
    target_os = "wasi",
)))]
pub use clock::{clock_nanosleep_absolute, clock_nanosleep_relative, ClockId};