diff options
| author | 2011-06-14 17:54:25 -0700 | |
|---|---|---|
| committer | 2011-06-14 17:54:25 -0700 | |
| commit | 982a69f827a8244ade7d95913726f1d0a6b2a9a3 (patch) | |
| tree | 9afdd1fa266ef7914943b2ada0a0193581ac1891 /libs/utils/Threads.cpp | |
| parent | 0e59cd3ab59d4907e9aeaee1e7d51a10971b0afa (diff) | |
| parent | f0c412513ff0efe0df40325d98a99de7634548ee (diff) | |
Merge "Bug 4608375"
Diffstat (limited to 'libs/utils/Threads.cpp')
| -rw-r--r-- | libs/utils/Threads.cpp | 11 |
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); } } |