diff options
-rw-r--r-- | cmds/surfaceflinger/main_surfaceflinger.cpp | 3 | ||||
-rw-r--r-- | include/binder/BinderService.h | 1 |
2 files changed, 3 insertions, 1 deletions
diff --git a/cmds/surfaceflinger/main_surfaceflinger.cpp b/cmds/surfaceflinger/main_surfaceflinger.cpp index 6dbcf5c..28e58e4 100644 --- a/cmds/surfaceflinger/main_surfaceflinger.cpp +++ b/cmds/surfaceflinger/main_surfaceflinger.cpp @@ -21,5 +21,8 @@ using namespace android; int main(int argc, char** argv) { SurfaceFlinger::publishAndJoinThreadPool(true); + // When SF is launched in its own process, limit the number of + // binder threads to 4. + ProcessState::self()->setThreadPoolMaxThreadCount(4); return 0; } diff --git a/include/binder/BinderService.h b/include/binder/BinderService.h index ca594d3..6460268 100644 --- a/include/binder/BinderService.h +++ b/include/binder/BinderService.h @@ -40,7 +40,6 @@ public: } static void publishAndJoinThreadPool(bool allowIsolated = false) { - sp<ProcessState> proc(ProcessState::self()); sp<IServiceManager> sm(defaultServiceManager()); sm->addService(String16(SERVICE::getServiceName()), new SERVICE(), allowIsolated); ProcessState::self()->startThreadPool(); |