storageproxyd: Start only a single binder thread
We only need a single binder thread to receive notifications, so we should set the thread pool max to 0 rather than 1. startThreadPool() starts one thread + the max count. Test: m storageproxyd Bug: 281951047 Fixes: 292030372 (cherry picked from https://android-review.googlesource.com/q/commit:b05b8706714a6e7eb64890e0bee012dbc69f72be) Merged-In: I53a90eaa2aa69469fd3a00b6da0d7061318c8ba9 Change-Id: I53a90eaa2aa69469fd3a00b6da0d7061318c8ba9
This commit is contained in:
parent
1310d7a6d6
commit
209890c07d
1 changed files with 5 additions and 2 deletions
|
@ -243,9 +243,12 @@ int main(int argc, char* argv[]) {
|
|||
* Start binder threadpool. At least one extra binder thread is needed to
|
||||
* connect to the wakelock service without relying on polling. If we poll on
|
||||
* the main thread we end up pausing for at least 1s even if the service
|
||||
* starts faster.
|
||||
* starts faster. We set the max thread count to 0 because startThreadPool
|
||||
* "Starts one thread, PLUS those requested in setThreadPoolMaxThreadCount,
|
||||
* PLUS those manually requested in joinThreadPool." We only need a single
|
||||
* binder thread to receive notifications on.
|
||||
*/
|
||||
ABinderProcess_setThreadPoolMaxThreadCount(1);
|
||||
ABinderProcess_setThreadPoolMaxThreadCount(0);
|
||||
ABinderProcess_startThreadPool();
|
||||
|
||||
/* initialize secure storage directory */
|
||||
|
|
Loading…
Reference in a new issue