Skip to content

Commit

Permalink
Auto merge of #2733 - vityafx:add-pthread-functions-to-bsd, r=Amanieu
Browse files Browse the repository at this point in the history
Expose more thread bindings for BSD-like OSes.

Fixes #2721
  • Loading branch information
bors committed Apr 2, 2022
2 parents f59a970 + 576f86d commit 02bdb0a
Show file tree
Hide file tree
Showing 4 changed files with 22 additions and 7 deletions.
2 changes: 2 additions & 0 deletions libc-test/semver/netbsd.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1360,6 +1360,7 @@ pthread_condattr_setclock
pthread_getattr_np
pthread_getaffinity_np
pthread_getname_np
pthread_getschedparam
pthread_kill
pthread_mutex_timedlock
pthread_spin_destroy
Expand All @@ -1370,6 +1371,7 @@ pthread_spin_unlock
pthread_spinlock_t
pthread_setaffinity_np
pthread_setname_np
pthread_setschedparam
ptrace
ptrace_io_desc
ptrace_lwpinfo
Expand Down
3 changes: 3 additions & 0 deletions libc-test/semver/openbsd.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1089,10 +1089,12 @@ pthread_attr_getstack
pthread_cancel
pthread_condattr_setclock
pthread_get_name_np
pthread_getschedparam
pthread_kill
pthread_main_np
pthread_mutex_timedlock
pthread_set_name_np
pthread_setschedparam
pthread_spin_destroy
pthread_spin_init
pthread_spin_lock
Expand Down Expand Up @@ -1120,6 +1122,7 @@ regmatch_t
regoff_t
sched_get_priority_max
sched_get_priority_min
sched_param
seed48
seed48_deterministic
seekdir
Expand Down
14 changes: 14 additions & 0 deletions src/unix/bsd/netbsdlike/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,10 @@ impl ::Clone for sem {
}

s! {
pub struct sched_param {
pub sched_priority: ::c_int,
}

pub struct sigaction {
pub sa_sigaction: ::sighandler_t,
pub sa_mask: ::sigset_t,
Expand Down Expand Up @@ -724,6 +728,16 @@ extern "C" {
pub fn pthread_spin_lock(lock: *mut pthread_spinlock_t) -> ::c_int;
pub fn pthread_spin_trylock(lock: *mut pthread_spinlock_t) -> ::c_int;
pub fn pthread_spin_unlock(lock: *mut pthread_spinlock_t) -> ::c_int;
pub fn pthread_setschedparam(
native: ::pthread_t,
policy: ::c_int,
param: *const sched_param,
) -> ::c_int;
pub fn pthread_getschedparam(
native: ::pthread_t,
policy: *mut ::c_int,
param: *mut sched_param,
) -> ::c_int;
pub fn pipe2(fds: *mut ::c_int, flags: ::c_int) -> ::c_int;

pub fn getgrouplist(
Expand Down
10 changes: 3 additions & 7 deletions src/unix/bsd/netbsdlike/netbsd/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -487,10 +487,6 @@ s! {
af_arg: [[::c_char; 10]; 24],
}

pub struct sched_param {
pub sched_priority: ::c_int,
}

pub struct kinfo_vmentry {
pub kve_start: u64,
pub kve_end: u64,
Expand Down Expand Up @@ -527,7 +523,7 @@ s! {
pub struct posix_spawnattr_t {
pub sa_flags: ::c_short,
pub sa_pgroup: ::pid_t,
pub sa_schedparam: sched_param,
pub sa_schedparam: ::sched_param,
pub sa_schedpolicy: ::c_int,
pub sa_sigdefault: sigset_t,
pub sa_sigmask: sigset_t,
Expand Down Expand Up @@ -2516,8 +2512,8 @@ extern "C" {
) -> *mut ::c_void;

pub fn sched_rr_get_interval(pid: ::pid_t, t: *mut ::timespec) -> ::c_int;
pub fn sched_setparam(pid: ::pid_t, param: *const sched_param) -> ::c_int;
pub fn sched_getparam(pid: ::pid_t, param: *mut sched_param) -> ::c_int;
pub fn sched_setparam(pid: ::pid_t, param: *const ::sched_param) -> ::c_int;
pub fn sched_getparam(pid: ::pid_t, param: *mut ::sched_param) -> ::c_int;
pub fn sched_getscheduler(pid: ::pid_t) -> ::c_int;
pub fn sched_setscheduler(
pid: ::pid_t,
Expand Down

0 comments on commit 02bdb0a

Please sign in to comment.