summaryrefslogtreecommitdiff
path: root/libutils/Threads.cpp
diff options
context:
space:
mode:
authorGreg Kaiser <gkaiser@google.com>2020-08-24 10:15:47 -0700
committerGreg Kaiser <gkaiser@google.com>2020-08-24 17:29:25 +0000
commitb473061c5a1b6e609188310e8d63f12380b4c74a (patch)
tree41f87c4e3d37fd4fe42b33e404b27de2885caf84 /libutils/Threads.cpp
parent5b940dc7f9c0364d84469cad7b47a5ffaa33600b (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.cpp12
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);