diff options
-rw-r--r-- | libutils/Threads.cpp | 12 | ||||
-rw-r--r-- | libutils/include/utils/AndroidThreads.h | 5 |
2 files changed, 15 insertions, 2 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); diff --git a/libutils/include/utils/AndroidThreads.h b/libutils/include/utils/AndroidThreads.h index 3c30a2a85..cdb5442ae 100644 --- a/libutils/include/utils/AndroidThreads.h +++ b/libutils/include/utils/AndroidThreads.h @@ -78,9 +78,12 @@ extern void androidSetCreateThreadFunc(android_create_thread_fn func); // should be one of the ANDROID_PRIORITY constants. Returns INVALID_OPERATION // if the priority set failed, else another value if just the group set failed; // in either case errno is set. Thread ID zero means current thread. +// This is equivalent to androidSetThreadPriorityAndPolicy(tid, prio, true); +extern int androidSetThreadPriority(pid_t tid, int prio); + // Parameter "change_policy" indicates if sched policy should be changed. It needs // not be checked again if the change is done elsewhere like activity manager. -extern int androidSetThreadPriority(pid_t tid, int prio, bool change_policy = true); +extern int androidSetThreadPriorityAndPolicy(pid_t tid, int prio, bool change_policy); // Get the current priority of a particular thread. Returns one of the // ANDROID_PRIORITY constants or a negative result in case of error. |