From 1183d5474f2682be595eda1a17d46d6ac5262d9d Mon Sep 17 00:00:00 2001 From: David Carlier Date: Sat, 25 May 2024 09:27:41 +0000 Subject: [PATCH 1/2] netbsd adding _lwp_park api. (backport ) (cherry picked from commit 4769aaad8ca6e2d005b3354a2c5a724b46639e79) --- libc-test/semver/netbsd.txt | 3 +++ src/unix/bsd/netbsdlike/netbsd/mod.rs | 16 ++++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/libc-test/semver/netbsd.txt b/libc-test/semver/netbsd.txt index 35d64153f2650..838f28f71b5d1 100644 --- a/libc-test/semver/netbsd.txt +++ b/libc-test/semver/netbsd.txt @@ -1190,6 +1190,9 @@ _cpuset_destroy _cpuset_isset _cpuset_set _cpuset_zero +_lwp_park +_lwp_unpark +_lwp_unpark_all _lwp_self abs accept4 diff --git a/src/unix/bsd/netbsdlike/netbsd/mod.rs b/src/unix/bsd/netbsdlike/netbsd/mod.rs index 28456d68bebd8..8dfbc8e32d868 100644 --- a/src/unix/bsd/netbsdlike/netbsd/mod.rs +++ b/src/unix/bsd/netbsdlike/netbsd/mod.rs @@ -2875,6 +2875,22 @@ extern "C" { pub fn getrandom(buf: *mut ::c_void, buflen: ::size_t, flags: ::c_uint) -> ::ssize_t; pub fn reboot(mode: ::c_int, bootstr: *mut ::c_char) -> ::c_int; + + #[link_name = "___lwp_park60"] + pub fn _lwp_park( + clock: ::clockid_t, + flags: ::c_int, + ts: *const ::timespec, + unpark: ::lwpid_t, + hint: *const ::c_void, + unparkhint: *mut ::c_void, + ) -> ::c_int; + pub fn _lwp_unpark(lwp: ::lwpid_t, hint: *const ::c_void) -> ::c_int; + pub fn _lwp_unpark_all( + targets: *const ::lwpid_t, + ntargets: ::size_t, + hint: *const ::c_void, + ) -> ::c_int; } #[link(name = "rt")] From 8aeffed1f39389193024147fcb87ea2d4fec5182 Mon Sep 17 00:00:00 2001 From: joboet Date: Thu, 18 Jul 2024 14:21:12 +0200 Subject: [PATCH 2/2] add `pthread_equal` (backport ) (cherry picked from commit 83b3393ebbb6fe5671181da76fdbc7e5474ce395) --- libc-test/semver/unix.txt | 1 + src/unix/mod.rs | 1 + 2 files changed, 2 insertions(+) diff --git a/libc-test/semver/unix.txt b/libc-test/semver/unix.txt index 5e84434b46bf4..03248dfec58c7 100644 --- a/libc-test/semver/unix.txt +++ b/libc-test/semver/unix.txt @@ -687,6 +687,7 @@ pthread_condattr_init pthread_condattr_t pthread_create pthread_detach +pthread_equal pthread_exit pthread_getspecific pthread_join diff --git a/src/unix/mod.rs b/src/unix/mod.rs index 26a4029d94f87..e3ff101f2b93b 100644 --- a/src/unix/mod.rs +++ b/src/unix/mod.rs @@ -1056,6 +1056,7 @@ extern "C" { pub fn times(buf: *mut ::tms) -> ::clock_t; pub fn pthread_self() -> ::pthread_t; + pub fn pthread_equal(t1: ::pthread_t, t2: ::pthread_t) -> ::c_int; #[cfg_attr( all(target_os = "macos", target_arch = "x86"), link_name = "pthread_join$UNIX2003"