From 727c42a91d63600251c0621e67c7c2d6869b199d Mon Sep 17 00:00:00 2001 From: David Carlier Date: Sat, 1 Jul 2023 11:24:35 +0100 Subject: [PATCH] android adding few more pthread api calls. --- libc-test/build.rs | 3 +++ libc-test/semver/android.txt | 2 ++ src/unix/linux_like/android/mod.rs | 14 ++++++++++++++ 3 files changed, 19 insertions(+) diff --git a/libc-test/build.rs b/libc-test/build.rs index 36aea9ef14000..f705e96d46a55 100644 --- a/libc-test/build.rs +++ b/libc-test/build.rs @@ -1863,6 +1863,9 @@ fn test_android(target: &str) { // Added in API level 28, but some tests use level 24. "syncfs" => true, + // Added in API level 28, but some tests use level 24. + "pthread_attr_getinheritsched" | "pthread_attr_setinheritsched" => true, + _ => false, } }); diff --git a/libc-test/semver/android.txt b/libc-test/semver/android.txt index 2bbdbf621a72c..d904f38ab9e95 100644 --- a/libc-test/semver/android.txt +++ b/libc-test/semver/android.txt @@ -3361,8 +3361,10 @@ pthread_atfork pthread_attr_destroy pthread_attr_getguardsize pthread_attr_getstack +pthread_attr_getstacksize pthread_attr_init pthread_attr_setdetachstate +pthread_attr_setguardsize pthread_attr_setstacksize pthread_attr_t pthread_barrierattr_destroy diff --git a/src/unix/linux_like/android/mod.rs b/src/unix/linux_like/android/mod.rs index c6a686082541c..afaa929d13716 100644 --- a/src/unix/linux_like/android/mod.rs +++ b/src/unix/linux_like/android/mod.rs @@ -1219,6 +1219,9 @@ 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_EXPLICIT_SCHED: ::c_int = 0; +pub const PTHREAD_INHERIT_SCHED: ::c_int = 1; + // stdio.h pub const RENAME_NOREPLACE: ::c_int = 1; pub const RENAME_EXCHANGE: ::c_int = 2; @@ -3475,6 +3478,17 @@ extern "C" { attr: *const ::pthread_attr_t, guardsize: *mut ::size_t, ) -> ::c_int; + pub fn pthread_attr_setguardsize(attr: *mut ::pthread_attr_t, guardsize: ::size_t) -> ::c_int; + pub fn pthread_attr_getstacksize( + attr: *const ::pthread_attr_t, + stacksize: *mut ::size_t, + ) -> ::c_int; + pub fn pthread_attr_setstacksize(attr: *mut ::pthread_attr_t, stacksize: ::size_t) -> ::c_int; + pub fn pthread_attr_getinheritsched( + attr: *const ::pthread_attr_t, + flag: *mut ::c_int, + ) -> ::c_int; + pub fn pthread_attr_setinheritsched(attr: *mut ::pthread_attr_t, flag: ::c_int) -> ::c_int; pub fn sethostname(name: *const ::c_char, len: ::size_t) -> ::c_int; pub fn sched_get_priority_min(policy: ::c_int) -> ::c_int; pub fn pthread_condattr_getpshared(