Skip to content

Commit 65fb0b5

Browse files
Add missing futex constants
1 parent e8d9949 commit 65fb0b5

File tree

4 files changed

+34
-1
lines changed

4 files changed

+34
-1
lines changed

src/backend/libc/thread/futex.rs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,4 +40,18 @@ pub enum FutexOperation {
4040
TrylockPi = bitcast!(c::FUTEX_TRYLOCK_PI),
4141
/// `FUTEX_WAIT_BITSET`
4242
WaitBitset = bitcast!(c::FUTEX_WAIT_BITSET),
43+
/// `FUTEX_WAKE_BITSET`
44+
WakeBitset = bitcast!(c::FUTEX_WAKE_BITSET),
45+
/// `FUTEX_WAIT_REQUEUE_PI`
46+
WaitRequeuePi = bitcast!(c::FUTEX_WAIT_REQUEUE_PI),
47+
/// `FUTEX_CMP_REQUEUE_PI`
48+
CmpRequeuePi = bitcast!(c::FUTEX_CMP_REQUEUE_PI),
49+
/// `FUTEX_LOCK_PI2`
50+
LockPi2 = bitcast!(c::FUTEX_LOCK_PI2),
4351
}
52+
53+
/// `FUTEX_WAITERS`
54+
pub const FUTEX_WAITERS: u32 = c::FUTEX_WAITERS;
55+
56+
/// `FUTEX_OWNER_DIED`
57+
pub const FUTEX_OWNER_DIED: u32 = c::FUTEX_OWNER_DIED;

src/backend/linux_raw/thread/futex.rs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,4 +42,18 @@ pub enum FutexOperation {
4242
TrylockPi = linux_raw_sys::general::FUTEX_TRYLOCK_PI,
4343
/// `FUTEX_WAIT_BITSET`
4444
WaitBitset = linux_raw_sys::general::FUTEX_WAIT_BITSET,
45+
/// `FUTEX_WAKE_BITSET`
46+
WakeBitset = linux_raw_sys::general::FUTEX_WAKE_BITSET,
47+
/// `FUTEX_WAIT_REQUEUE_PI`
48+
WaitRequeuePi = linux_raw_sys::general::FUTEX_WAIT_REQUEUE_PI,
49+
/// `FUTEX_CMP_REQUEUE_PI`
50+
CmpRequeuePi = linux_raw_sys::general::FUTEX_CMP_REQUEUE_PI,
51+
/// `FUTEX_LOCK_PI2`
52+
LockPi2 = linux_raw_sys::general::FUTEX_LOCK_PI2,
4553
}
54+
55+
/// `FUTEX_WAITERS`
56+
pub const FUTEX_WAITERS: u32 = linux_raw_sys::general::FUTEX_WAITERS;
57+
58+
/// `FUTEX_OWNER_DIED`
59+
pub const FUTEX_OWNER_DIED: u32 = linux_raw_sys::general::FUTEX_OWNER_DIED;

src/thread/futex.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,11 @@ use crate::{backend, io};
1111

1212
pub use backend::thread::futex::{FutexFlags, FutexOperation};
1313

14+
/// `FUTEX_WAITERS`
15+
pub const FUTEX_WAITERS: u32 = backend::thread::futex::FUTEX_WAITERS;
16+
/// `FUTEX_OWNER_DIED`
17+
pub const FUTEX_OWNER_DIED: u32 = backend::thread::futex::FUTEX_OWNER_DIED;
18+
1419
/// `futex(uaddr, op, val, utime, uaddr2, val3)`
1520
///
1621
/// # References

src/thread/mod.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ mod setns;
1616
#[cfg(not(target_os = "redox"))]
1717
pub use clock::*;
1818
#[cfg(linux_kernel)]
19-
pub use futex::{futex, FutexFlags, FutexOperation};
19+
pub use futex::{futex, FutexFlags, FutexOperation, FUTEX_OWNER_DIED, FUTEX_WAITERS};
2020
#[cfg(linux_kernel)]
2121
pub use id::{
2222
gettid, set_thread_gid, set_thread_groups, set_thread_res_gid, set_thread_res_uid,

0 commit comments

Comments
 (0)