From 77fa973b3ffe8b2aa1479c1ecc523081e19f4b1a Mon Sep 17 00:00:00 2001 From: Yuxuan Shui Date: Thu, 7 Aug 2025 19:05:26 +0100 Subject: [PATCH] Add `sigqueue` --- libc-test/semver/aix.txt | 1 + libc-test/semver/android.txt | 1 + libc-test/semver/cygwin.txt | 1 + libc-test/semver/freebsd.txt | 1 + libc-test/semver/linux.txt | 1 + libc-test/semver/netbsd.txt | 1 + libc-test/semver/redox.txt | 1 + libc-test/semver/solarish.txt | 1 + src/unix/mod.rs | 14 ++++++++++++++ 9 files changed, 22 insertions(+) diff --git a/libc-test/semver/aix.txt b/libc-test/semver/aix.txt index 73163c854f30d..f0bff6f33dc45 100644 --- a/libc-test/semver/aix.txt +++ b/libc-test/semver/aix.txt @@ -2465,6 +2465,7 @@ sigismember signal sigpending sigprocmask +sigqueue sigset_t sigsuspend sigtimedwait diff --git a/libc-test/semver/android.txt b/libc-test/semver/android.txt index b06859ca64aa8..81fd5610f6049 100644 --- a/libc-test/semver/android.txt +++ b/libc-test/semver/android.txt @@ -3985,6 +3985,7 @@ signalfd signalfd_siginfo sigpending sigprocmask +sigqueue sigset64_t sigset_t sigsuspend diff --git a/libc-test/semver/cygwin.txt b/libc-test/semver/cygwin.txt index 99e822ca62d18..a978f7312d9c3 100644 --- a/libc-test/semver/cygwin.txt +++ b/libc-test/semver/cygwin.txt @@ -844,6 +844,7 @@ settimeofday sigaltstack sigevent siginfo_t +sigqueue sigsuspend sigtimedwait sigwait diff --git a/libc-test/semver/freebsd.txt b/libc-test/semver/freebsd.txt index c51ea2fb8aadb..24a75ae4d460f 100644 --- a/libc-test/semver/freebsd.txt +++ b/libc-test/semver/freebsd.txt @@ -2368,6 +2368,7 @@ shmid_ds sigaltstack sigevent siginfo_t +sigqueue sigsuspend sigtimedwait sigwait diff --git a/libc-test/semver/linux.txt b/libc-test/semver/linux.txt index a8806a36f4600..1f8bd7ed277d9 100644 --- a/libc-test/semver/linux.txt +++ b/libc-test/semver/linux.txt @@ -4284,6 +4284,7 @@ sigevent siginfo_t signalfd signalfd_siginfo +sigqueue sigsuspend sigtimedwait sigwait diff --git a/libc-test/semver/netbsd.txt b/libc-test/semver/netbsd.txt index 677e37ea0a155..da962722f5561 100644 --- a/libc-test/semver/netbsd.txt +++ b/libc-test/semver/netbsd.txt @@ -1598,6 +1598,7 @@ shmid_ds sigaltstack sigevent siginfo_t +sigqueue sigsuspend sigtimedwait sigwait diff --git a/libc-test/semver/redox.txt b/libc-test/semver/redox.txt index 3c3c52eabb4f0..6c08d897a6529 100644 --- a/libc-test/semver/redox.txt +++ b/libc-test/semver/redox.txt @@ -236,6 +236,7 @@ setgrent setpwent setrlimit setservent +sigqueue sigtimedwait sigwait strcasecmp diff --git a/libc-test/semver/solarish.txt b/libc-test/semver/solarish.txt index 0171eafa0ac20..78938f94109bc 100644 --- a/libc-test/semver/solarish.txt +++ b/libc-test/semver/solarish.txt @@ -78,5 +78,6 @@ posix_spawnattr_setsigmask posix_spawnp recvmsg sendmsg +sigqueue strftime strftime_l diff --git a/src/unix/mod.rs b/src/unix/mod.rs index d12b9be8c856d..a6e6026ec28c3 100644 --- a/src/unix/mod.rs +++ b/src/unix/mod.rs @@ -1674,6 +1674,20 @@ cfg_if! { } } +cfg_if! { + if #[cfg(not(any( + target_os = "dragonfly", + target_os = "emscripten", + target_os = "hurd", + target_os = "macos", + target_os = "openbsd", + )))] { + extern "C" { + pub fn sigqueue(pid: pid_t, sig: c_int, value: crate::sigval) -> c_int; + } + } +} + cfg_if! { if #[cfg(not(target_os = "android"))] { extern "C" {