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
//! This module provides the `libc` types for FUTEX (fast user-space mutex).
use TryFromPrimitive;
/// Futex 操作类型枚举
///
/// MUSL: <https://github.com/bminor/musl/blob/c47ad25ea3b484e10326f933e927c0bc8cded3da/src/internal/futex.h#L4>
/// 标志:表示 futex 是私有的,只在同一进程内使用(性能更好)
/// 相当于 FUTEX_PRIVATE_FLAG,避免跨进程同步开销
pub const FUTEX_PRIVATE: usize = 128;
/// 标志:使用系统实时时钟(CLOCK_REALTIME)作为超时基准
/// 默认 futex 超时使用的是 CLOCK_MONOTONIC,设置此标志改为使用实时时钟
pub const FUTEX_CLOCK_REALTIME: usize = 256;