From d234c98318dc3e85c01092ddadfc9e7acddbbaef Mon Sep 17 00:00:00 2001 From: Elliott Hughes Date: Wed, 1 May 2019 15:28:21 -0700 Subject: Android moved the scheduler policy functions in Q. They're forwarded to libprocessgroup, but we may as well go straight to the source since neither library is in the NDK anyway. This code is unfortunate because it means that even `toybox true` ends up pulling in a JSON parser at runtime, because ps might call get_sched_policy/get_sched_policy_name. I'll experiment with dlopen-on-demand in portability.c and see whether the savings are worthwhile, but for now at least use the current library directly so we can save *one* dlopen! --- lib/portability.h | 4 ++-- scripts/genconfig.sh | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/portability.h b/lib/portability.h index 07160e9d..96458266 100644 --- a/lib/portability.h +++ b/lib/portability.h @@ -272,9 +272,9 @@ static inline int __system_property_set(const char *key, const char *value) } #endif -// libcutils is in AOSP but not Android NDK r18 +// libprocessgroup is an Android platform library not included in the NDK. #if defined(__BIONIC__) && !defined(__ANDROID_NDK__) -#include +#include #else static inline int get_sched_policy(int tid, void *policy) {return 0;} static inline char *get_sched_policy_name(int policy) {return "unknown";} diff --git a/scripts/genconfig.sh b/scripts/genconfig.sh index 21e6c7b7..e1eff09f 100755 --- a/scripts/genconfig.sh +++ b/scripts/genconfig.sh @@ -85,7 +85,7 @@ EOF EOF probesymbol TOYBOX_ANDROID_SCHEDPOLICY << EOF - #include + #include int main(int argc,char *argv[]) { get_sched_policy_name(0); } EOF -- cgit v1.2.3