summaryrefslogtreecommitdiff
path: root/libs/utils/Threads.cpp
diff options
context:
space:
mode:
author Glenn Kasten <gkasten@google.com> 2011-06-14 17:54:25 -0700
committer Android (Google) Code Review <android-gerrit@google.com> 2011-06-14 17:54:25 -0700
commit982a69f827a8244ade7d95913726f1d0a6b2a9a3 (patch)
tree9afdd1fa266ef7914943b2ada0a0193581ac1891 /libs/utils/Threads.cpp
parent0e59cd3ab59d4907e9aeaee1e7d51a10971b0afa (diff)
parentf0c412513ff0efe0df40325d98a99de7634548ee (diff)
Merge "Bug 4608375"
Diffstat (limited to 'libs/utils/Threads.cpp')
-rw-r--r--libs/utils/Threads.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/libs/utils/Threads.cpp b/libs/utils/Threads.cpp
index c748228663..15bb1d2262 100644
--- a/libs/utils/Threads.cpp
+++ b/libs/utils/Threads.cpp
@@ -335,10 +335,17 @@ int androidSetThreadPriority(pid_t tid, int pri)
pthread_once(&gDoSchedulingGroupOnce, checkDoSchedulingGroup);
if (gDoSchedulingGroup) {
+ // set_sched_policy does not support tid == 0
+ int policy_tid;
+ if (tid == 0) {
+ policy_tid = androidGetTid();
+ } else {
+ policy_tid = tid;
+ }
if (pri >= ANDROID_PRIORITY_BACKGROUND) {
- rc = set_sched_policy(tid, SP_BACKGROUND);
+ rc = set_sched_policy(policy_tid, SP_BACKGROUND);
} else if (getpriority(PRIO_PROCESS, tid) >= ANDROID_PRIORITY_BACKGROUND) {
- rc = set_sched_policy(tid, SP_FOREGROUND);
+ rc = set_sched_policy(policy_tid, SP_FOREGROUND);
}
}