From 3e371e2ebbeeefe176ba1357e6ff241bd13a711e Mon Sep 17 00:00:00 2001 From: San Mehat Date: Fri, 26 Jun 2009 08:36:16 -0700 Subject: dalvik: thread: Set the control group of a thread to the background group if the priority is logically-lower than ANDROID_PRIORITY_BACKGROUND Signed-off-by: San Mehat --- vm/Thread.c | 4 ++-- vm/alloc/Heap.c | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/vm/Thread.c b/vm/Thread.c index acfc7a9df..0adde3878 100644 --- a/vm/Thread.c +++ b/vm/Thread.c @@ -2819,9 +2819,9 @@ void dvmChangeThreadPriority(Thread* thread, int newPriority) } newNice = kNiceValues[newPriority-1]; - if (newPriority == ANDROID_PRIORITY_BACKGROUND) { + if (newPriority >= ANDROID_PRIORITY_BACKGROUND) { dvmChangeThreadSchedulerGroup("bg_non_interactive"); - } else if (getpriority(PRIO_PROCESS, pid) == ANDROID_PRIORITY_BACKGROUND) { + } else if (getpriority(PRIO_PROCESS, pid) >= ANDROID_PRIORITY_BACKGROUND) { dvmChangeThreadSchedulerGroup(NULL); } diff --git a/vm/alloc/Heap.c b/vm/alloc/Heap.c index 09954ea8b..e58a8a8c8 100644 --- a/vm/alloc/Heap.c +++ b/vm/alloc/Heap.c @@ -775,7 +775,7 @@ void dvmCollectGarbageInternal(bool collectSoftReferences) * in backward UNIX terms means lower priority. */ - if (priorityResult == ANDROID_PRIORITY_BACKGROUND) { + if (priorityResult >= ANDROID_PRIORITY_BACKGROUND) { dvmChangeThreadSchedulerGroup(NULL); } @@ -1025,7 +1025,7 @@ void dvmCollectGarbageInternal(bool collectSoftReferences) LOGD_HEAP("Reset priority to %d\n", oldThreadPriority); } - if (oldThreadPriority == ANDROID_PRIORITY_BACKGROUND) { + if (oldThreadPriority >= ANDROID_PRIORITY_BACKGROUND) { dvmChangeThreadSchedulerGroup("bg_non_interactive"); } } -- cgit v1.2.3