Skip to content

Commit

Permalink
Add pthread_mutexattr_setprotocol and pthread_mutexattr_getprotocol o…
Browse files Browse the repository at this point in the history
…n Linux-like platforms

Include the PTHREAD_PRIO_* constants. Android does not define PTHREAD_PRIO_PROTECT.
  • Loading branch information
rtzoeller committed Mar 22, 2022
1 parent a9176ca commit 3830d48
Show file tree
Hide file tree
Showing 5 changed files with 21 additions and 0 deletions.
4 changes: 4 additions & 0 deletions libc-test/semver/android.txt
Expand Up @@ -1659,6 +1659,8 @@ PTHREAD_MUTEX_ERRORCHECK
PTHREAD_MUTEX_INITIALIZER
PTHREAD_MUTEX_NORMAL
PTHREAD_MUTEX_RECURSIVE
PTHREAD_PRIO_NONE
PTHREAD_PRIO_INHERIT
PTHREAD_RWLOCK_INITIALIZER
PTHREAD_STACK_MIN
PTRACE_ATTACH
Expand Down Expand Up @@ -3040,8 +3042,10 @@ pthread_mutex_timedlock
pthread_mutex_trylock
pthread_mutex_unlock
pthread_mutexattr_destroy
pthread_mutexattr_getprotocol
pthread_mutexattr_getpshared
pthread_mutexattr_init
pthread_mutexattr_setprotocol
pthread_mutexattr_setpshared
pthread_mutexattr_settype
pthread_mutexattr_t
Expand Down
5 changes: 5 additions & 0 deletions libc-test/semver/linux.txt
Expand Up @@ -1653,6 +1653,9 @@ PTHREAD_CREATE_DETACHED
PTHREAD_CREATE_JOINABLE
PTHREAD_MUTEX_DEFAULT
PTHREAD_MUTEX_ERRORCHECK
PTHREAD_PRIO_NONE
PTHREAD_PRIO_INHERIT
PTHREAD_PRIO_PROTECT
PTHREAD_PROCESS_PRIVATE
PTHREAD_PROCESS_SHARED
PTHREAD_STACK_MIN
Expand Down Expand Up @@ -2951,7 +2954,9 @@ pthread_getschedparam
pthread_kill
pthread_mutex_consistent
pthread_mutex_timedlock
pthread_mutexattr_getprotocol
pthread_mutexattr_getpshared
pthread_mutexattr_setprotocol
pthread_mutexattr_setpshared
pthread_mutexattr_getrobust
pthread_mutexattr_setrobust
Expand Down
1 change: 1 addition & 0 deletions src/unix/linux_like/emscripten/mod.rs
Expand Up @@ -915,6 +915,7 @@ pub const PTHREAD_MUTEX_NORMAL: ::c_int = 0;
pub const PTHREAD_MUTEX_RECURSIVE: ::c_int = 1;
pub const PTHREAD_MUTEX_ERRORCHECK: ::c_int = 2;
pub const PTHREAD_MUTEX_DEFAULT: ::c_int = PTHREAD_MUTEX_NORMAL;
pub const PTHREAD_PRIO_PROTECT: ::c_int = 2;
pub const PTHREAD_PROCESS_PRIVATE: ::c_int = 0;
pub const PTHREAD_PROCESS_SHARED: ::c_int = 1;
pub const __SIZEOF_PTHREAD_COND_T: usize = 48;
Expand Down
1 change: 1 addition & 0 deletions src/unix/linux_like/linux/mod.rs
Expand Up @@ -1519,6 +1519,7 @@ pub const PTHREAD_MUTEX_ERRORCHECK: ::c_int = 2;
pub const PTHREAD_MUTEX_DEFAULT: ::c_int = PTHREAD_MUTEX_NORMAL;
pub const PTHREAD_MUTEX_STALLED: ::c_int = 0;
pub const PTHREAD_MUTEX_ROBUST: ::c_int = 1;
pub const PTHREAD_PRIO_PROTECT: ::c_int = 2;
pub const PTHREAD_PROCESS_PRIVATE: ::c_int = 0;
pub const PTHREAD_PROCESS_SHARED: ::c_int = 1;
pub const __SIZEOF_PTHREAD_COND_T: usize = 48;
Expand Down
10 changes: 10 additions & 0 deletions src/unix/linux_like/mod.rs
Expand Up @@ -487,6 +487,8 @@ pub const SIGTRAP: ::c_int = 5;

pub const PTHREAD_CREATE_JOINABLE: ::c_int = 0;
pub const PTHREAD_CREATE_DETACHED: ::c_int = 1;
pub const PTHREAD_PRIO_NONE: ::c_int = 0;
pub const PTHREAD_PRIO_INHERIT: ::c_int = 1;

pub const CLOCK_REALTIME: ::clockid_t = 0;
pub const CLOCK_MONOTONIC: ::clockid_t = 1;
Expand Down Expand Up @@ -1712,6 +1714,14 @@ extern "C" {
attr: *mut pthread_condattr_t,
clock_id: ::clockid_t,
) -> ::c_int;
pub fn pthread_mutexattr_getprotocol(
attr: *const pthread_mutexattr_t,
protocol: *mut ::c_int,
) -> ::c_int;
pub fn pthread_mutexattr_setprotocol(
attr: *mut pthread_mutexattr_t,
protocol: ::c_int,
) -> ::c_int;
pub fn pthread_condattr_setpshared(attr: *mut pthread_condattr_t, pshared: ::c_int) -> ::c_int;
pub fn pthread_mutexattr_setpshared(
attr: *mut pthread_mutexattr_t,
Expand Down

0 comments on commit 3830d48

Please sign in to comment.