diff --git a/libc-test/semver/apple.txt b/libc-test/semver/apple.txt index 7b11ad7c66ebd..97c76d0365dcd 100644 --- a/libc-test/semver/apple.txt +++ b/libc-test/semver/apple.txt @@ -2195,6 +2195,7 @@ shmctl shmdt shmget shmid_ds +sig_t sigaltstack sigevent siginfo_t diff --git a/libc-test/semver/dragonfly.txt b/libc-test/semver/dragonfly.txt index 6d41c8c6cabd9..1c7d4a1110777 100644 --- a/libc-test/semver/dragonfly.txt +++ b/libc-test/semver/dragonfly.txt @@ -1606,6 +1606,7 @@ shmat shmctl shmdt shmget +sig_t sigaltstack sigevent siginfo_t diff --git a/libc-test/semver/freebsd.txt b/libc-test/semver/freebsd.txt index 110e75e2bca12..d07c6cb7a87c4 100644 --- a/libc-test/semver/freebsd.txt +++ b/libc-test/semver/freebsd.txt @@ -2368,6 +2368,7 @@ shmctl shmdt shmget shmid_ds +sig_t sigaltstack sigevent siginfo_t diff --git a/libc-test/semver/netbsd.txt b/libc-test/semver/netbsd.txt index 982f610a4f3aa..c8df66d004950 100644 --- a/libc-test/semver/netbsd.txt +++ b/libc-test/semver/netbsd.txt @@ -1571,6 +1571,7 @@ shmctl shmdt shmget shmid_ds +sig_t sigaltstack sigevent siginfo_t diff --git a/libc-test/semver/openbsd.txt b/libc-test/semver/openbsd.txt index 575fcc0736075..9bd0c238979d8 100644 --- a/libc-test/semver/openbsd.txt +++ b/libc-test/semver/openbsd.txt @@ -1332,6 +1332,7 @@ shmctl shmdt shmget shmid_ds +sig_t sigaltstack siginfo_t sigsuspend diff --git a/src/unix/bsd/apple/mod.rs b/src/unix/bsd/apple/mod.rs index fceea8869cbfd..adaac55f75e9c 100644 --- a/src/unix/bsd/apple/mod.rs +++ b/src/unix/bsd/apple/mod.rs @@ -327,7 +327,7 @@ s! { pub struct sigaction { // FIXME(union): this field is actually a union - pub sa_sigaction: crate::sighandler_t, + pub sa_sigaction: crate::sig_t, pub sa_mask: sigset_t, pub sa_flags: c_int, } diff --git a/src/unix/bsd/freebsdlike/mod.rs b/src/unix/bsd/freebsdlike/mod.rs index 0c93d2edc2f4b..2127b603986f8 100644 --- a/src/unix/bsd/freebsdlike/mod.rs +++ b/src/unix/bsd/freebsdlike/mod.rs @@ -164,7 +164,7 @@ s! { } pub struct sigaction { - pub sa_sigaction: crate::sighandler_t, + pub sa_sigaction: crate::sig_t, pub sa_flags: c_int, pub sa_mask: sigset_t, } diff --git a/src/unix/bsd/netbsdlike/mod.rs b/src/unix/bsd/netbsdlike/mod.rs index e4d4e68ad1fb7..71c07b72ad177 100644 --- a/src/unix/bsd/netbsdlike/mod.rs +++ b/src/unix/bsd/netbsdlike/mod.rs @@ -27,7 +27,7 @@ s! { } pub struct sigaction { - pub sa_sigaction: crate::sighandler_t, + pub sa_sigaction: crate::sig_t, pub sa_mask: crate::sigset_t, pub sa_flags: c_int, } diff --git a/src/unix/mod.rs b/src/unix/mod.rs index 79c3ef8be2220..1520b210304ea 100644 --- a/src/unix/mod.rs +++ b/src/unix/mod.rs @@ -18,6 +18,18 @@ pub type pid_t = i32; pub type in_addr_t = u32; pub type in_port_t = u16; pub type sighandler_t = size_t; +#[cfg(any( + target_os = "macos", + target_os = "ios", + target_os = "tvos", + target_os = "watchos", + target_os = "visionos", + target_os = "freebsd", + target_os = "dragonfly", + target_os = "openbsd", + target_os = "netbsd" +))] +pub type sig_t = sighandler_t; pub type cc_t = c_uchar; cfg_if! {