dalvik: Use common SchedPolicy type and fix getpid() vs. gettid() bug
Signed-off-by: San Mehat <san@google.com>
diff --git a/vm/Thread.c b/vm/Thread.c
index 8f3650f..8a4ae4b 100644
--- a/vm/Thread.c
+++ b/vm/Thread.c
@@ -3110,18 +3110,16 @@
if (gDvm.kernelGroupScheduling) {
const char *grp = NULL;
- if (policy == SCHED_BACKGROUND) {
+ if (policy == SP_BACKGROUND) {
grp = "bg_non_interactive";
}
dvmChangeThreadSchedulerGroup(grp);
} else {
struct sched_param param;
-
param.sched_priority = 0;
- sched_setscheduler(getpid(),
- (policy == SCHED_BACKGROUND) ? 5 : 0,
- ¶m);
+ sched_setscheduler(dvmGetSysThreadId(),
+ (policy == SP_BACKGROUND) ? 5 : 0, ¶m);
}
}
@@ -3143,9 +3141,9 @@
newNice = kNiceValues[newPriority-1];
if (newNice >= ANDROID_PRIORITY_BACKGROUND) {
- dvmChangeThreadSchedulerPolicy(SCHED_BACKGROUND);
+ dvmChangeThreadSchedulerPolicy(SP_BACKGROUND);
} else if (getpriority(PRIO_PROCESS, pid) >= ANDROID_PRIORITY_BACKGROUND) {
- dvmChangeThreadSchedulerPolicy(SCHED_FOREGROUND);
+ dvmChangeThreadSchedulerPolicy(SP_FOREGROUND);
}
if (setpriority(PRIO_PROCESS, pid, newNice) != 0) {