SF doesn't need more than a few binder threads

Change-Id: Ic4659fb81f9990cc7caf84a496a8ae659a1d16a9
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 @@
 
 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 @@
     }
 
     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();