diff options
author | Jason Parks <jparks@google.com> | 2009-11-04 14:25:26 -0800 |
---|---|---|
committer | Jason Parks <jparks@google.com> | 2009-11-04 14:25:26 -0800 |
commit | b5c41353337b3db2dc0ca0df163d5294af8281bc (patch) | |
tree | 7ffd7d27c1a8f695b9c1f25dfa9aff4baf0ad404 /libs/binder | |
parent | a6052978975fbc77db923cc34622dc24467b2534 (diff) | |
download | frameworks_native-b5c41353337b3db2dc0ca0df163d5294af8281bc.zip frameworks_native-b5c41353337b3db2dc0ca0df163d5294af8281bc.tar.gz frameworks_native-b5c41353337b3db2dc0ca0df163d5294af8281bc.tar.bz2 |
When a thread is about to be put back onto the thread pool ensure that it is in the foreground cgroup.
Diffstat (limited to 'libs/binder')
-rw-r--r-- | libs/binder/IPCThreadState.cpp | 26 |
1 files changed, 4 insertions, 22 deletions
diff --git a/libs/binder/IPCThreadState.cpp b/libs/binder/IPCThreadState.cpp index 86c3df6..d474571 100644 --- a/libs/binder/IPCThreadState.cpp +++ b/libs/binder/IPCThreadState.cpp @@ -422,31 +422,13 @@ void IPCThreadState::joinThreadPool(bool isMain) << getReturnString(cmd) << endl; } - bool isTainted = false; - - { - SchedPolicy policy; - get_sched_policy(getpid(), &policy); - - if (policy == SP_BACKGROUND) { - isTainted = true; - } - } result = executeCommand(cmd); - // Make sure that after executing the commands that we put the thread back into the - // default cgroup. - { - int pid = getpid(); - SchedPolicy policy; - get_sched_policy(pid, &policy); - - if (!isTainted && policy == SP_BACKGROUND) { - LOGW("*** THREAD %p (PID %p) was left in SP_BACKGROUND with a priority of %d\n", - (void*)pthread_self(), pid, getpriority(PRIO_PROCESS, pid)); - } - } + // Make sure that after executing the command that we put the thread back into the + // default cgroup. This is just a failsafe incase the thread's priority or cgroup was + // not properly restored. + set_sched_policy(getpid(), SP_FOREGROUND); } // Let this thread exit the thread pool if it is no longer |