Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 209890c0 authored by Stephen Crane's avatar Stephen Crane
Browse files

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
parent 1310d7a6
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -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 */