From e882b374e45dfa6ecbf190bd3b4758fd5508796e Mon Sep 17 00:00:00 2001 From: Christoph Heiss Date: Mon, 11 Aug 2025 10:59:55 +0200 Subject: [PATCH] linux_like: unify SIGEV_THREAD_ID support This effectively adds the constant for musl too, as last platform of this category. It has been supported in musl since 7c71792e ("add support for SIGEV_THREAD_ID timers") and was released with v1.2.2 in January 2021. (FWIW, emscripten also supports this.) Also double-checked that the `sigevent` struct is defined in the exact same way. Signed-off-by: Christoph Heiss --- libc-test/semver/linux-gnu.txt | 1 - libc-test/semver/linux.txt | 1 + src/unix/linux_like/android/mod.rs | 2 -- src/unix/linux_like/linux/gnu/mod.rs | 2 -- src/unix/linux_like/linux/uclibc/mod.rs | 2 -- src/unix/linux_like/mod.rs | 2 ++ 6 files changed, 3 insertions(+), 7 deletions(-) diff --git a/libc-test/semver/linux-gnu.txt b/libc-test/semver/linux-gnu.txt index c88da4fe9bf6e..f048f301f8bb9 100644 --- a/libc-test/semver/linux-gnu.txt +++ b/libc-test/semver/linux-gnu.txt @@ -398,7 +398,6 @@ RWF_NOWAIT RWF_SYNC SECURITYFS_MAGIC SELINUX_MAGIC -SIGEV_THREAD_ID SMACK_MAGIC SMB_SUPER_MAGIC SOL_CAIF diff --git a/libc-test/semver/linux.txt b/libc-test/semver/linux.txt index a8806a36f4600..2867f78cb2f86 100644 --- a/libc-test/semver/linux.txt +++ b/libc-test/semver/linux.txt @@ -2846,6 +2846,7 @@ SHORT_INODE SIGEV_NONE SIGEV_SIGNAL SIGEV_THREAD +SIGEV_THREAD_ID SIGIO SIGPOLL SIGPWR diff --git a/src/unix/linux_like/android/mod.rs b/src/unix/linux_like/android/mod.rs index f6b95255889b8..9d423ee4cb1a7 100644 --- a/src/unix/linux_like/android/mod.rs +++ b/src/unix/linux_like/android/mod.rs @@ -1995,8 +1995,6 @@ pub const NLA_TYPE_MASK: c_int = !(NLA_F_NESTED | NLA_F_NET_BYTEORDER); pub const NLA_ALIGNTO: c_int = 4; -pub const SIGEV_THREAD_ID: c_int = 4; - pub const CIBAUD: crate::tcflag_t = 0o02003600000; pub const CBAUDEX: crate::tcflag_t = 0o010000; diff --git a/src/unix/linux_like/linux/gnu/mod.rs b/src/unix/linux_like/linux/gnu/mod.rs index 06c6fe6714d35..14b07d5efada9 100644 --- a/src/unix/linux_like/linux/gnu/mod.rs +++ b/src/unix/linux_like/linux/gnu/mod.rs @@ -707,8 +707,6 @@ pub const PF_NFC: c_int = AF_NFC; pub const PF_VSOCK: c_int = AF_VSOCK; pub const PF_XDP: c_int = AF_XDP; -pub const SIGEV_THREAD_ID: c_int = 4; - pub const BUFSIZ: c_uint = 8192; pub const TMP_MAX: c_uint = 238328; pub const FOPEN_MAX: c_uint = 16; diff --git a/src/unix/linux_like/linux/uclibc/mod.rs b/src/unix/linux_like/linux/uclibc/mod.rs index 4fef82ed8e167..6ab592807089e 100644 --- a/src/unix/linux_like/linux/uclibc/mod.rs +++ b/src/unix/linux_like/linux/uclibc/mod.rs @@ -243,8 +243,6 @@ pub const MCL_CURRENT: c_int = 0x0001; pub const MCL_FUTURE: c_int = 0x0002; pub const MCL_ONFAULT: c_int = 0x0004; -pub const SIGEV_THREAD_ID: c_int = 4; - pub const AF_VSOCK: c_int = 40; // Most `*_SUPER_MAGIC` constants are defined at the `linux_like` level; the diff --git a/src/unix/linux_like/mod.rs b/src/unix/linux_like/mod.rs index 38d3d5da56c8f..f184d4b6cbf5b 100644 --- a/src/unix/linux_like/mod.rs +++ b/src/unix/linux_like/mod.rs @@ -1345,6 +1345,8 @@ pub const CLD_CONTINUED: c_int = 6; pub const SIGEV_SIGNAL: c_int = 0; pub const SIGEV_NONE: c_int = 1; pub const SIGEV_THREAD: c_int = 2; +#[cfg(any(not(target_env = "musl"), musl_v1_2_3))] +pub const SIGEV_THREAD_ID: c_int = 4; pub const P_ALL: idtype_t = 0; pub const P_PID: idtype_t = 1;