diff options
author | Greg Kaiser <gkaiser@google.com> | 2020-08-24 10:15:47 -0700 |
---|---|---|
committer | Greg Kaiser <gkaiser@google.com> | 2020-08-24 17:29:25 +0000 |
commit | b473061c5a1b6e609188310e8d63f12380b4c74a (patch) | |
tree | 41f87c4e3d37fd4fe42b33e404b27de2885caf84 /libutils/Threads.cpp | |
parent | 5b940dc7f9c0364d84469cad7b47a5ffaa33600b (diff) |
Fix API for C compatibility
In https://android-review.googlesource.com/c/platform/system/core/+/1224544
when we introduced a default argument to androidSetThreadPriority(),
we broke C compatibility with this API, and with the header file
in general.
We fix this up by instead introducing a new method that takes
three arguments. This gets this header file compiling for C again,
and keeps this particular API C compatible.
Any C++ callers of the three argument version of
androidSetThreadPriority() will need to switch to using
androidSetThreadPriorityAndPolicy(). Although since this was
a recent change, we believe there is only one such user, which
we are fixing at the same time.
Test: TreeHugger
Bug: 165009705
Merged-In: Iab0b7e6c91a8e32a17ba1b186fd0c2fe96b601e4
Change-Id: Iab0b7e6c91a8e32a17ba1b186fd0c2fe96b601e4
Diffstat (limited to 'libutils/Threads.cpp')
-rw-r--r-- | libutils/Threads.cpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/libutils/Threads.cpp b/libutils/Threads.cpp index 147db542d..55eadb07a 100644 --- a/libutils/Threads.cpp +++ b/libutils/Threads.cpp @@ -302,7 +302,8 @@ void androidSetCreateThreadFunc(android_create_thread_fn func) } #if defined(__ANDROID__) -int androidSetThreadPriority(pid_t tid, int pri, bool change_policy) { +namespace { +int androidSetThreadPriorityInternal(pid_t tid, int pri, bool change_policy) { int rc = 0; int lasterr = 0; int curr_pri = getpriority(PRIO_PROCESS, tid); @@ -334,6 +335,15 @@ int androidSetThreadPriority(pid_t tid, int pri, bool change_policy) { return rc; } +} // namespace + +int androidSetThreadPriority(pid_t tid, int pri) { + return androidSetThreadPriorityInternal(tid, pri, true); +} + +int androidSetThreadPriorityAndPolicy(pid_t tid, int pri, bool change_policy) { + return androidSetThreadPriorityInternal(tid, pri, change_policy); +} int androidGetThreadPriority(pid_t tid) { return getpriority(PRIO_PROCESS, tid); |