set-verity-state: Start a threadpool to service waitForService() CB
Bug: 241688845
Bug: 241739850
Test: adb disable-verity / adb enable-verity
Change-Id: I5871e0e0f3014b2f4beb786fef4dc4f75af3fbf5
diff --git a/set-verity-state/set-verity-state.cpp b/set-verity-state/set-verity-state.cpp
index 31ceaee..1bcaa25 100644
--- a/set-verity-state/set-verity-state.cpp
+++ b/set-verity-state/set-verity-state.cpp
@@ -19,6 +19,7 @@
#include <android-base/file.h>
#include <android-base/logging.h>
#include <android-base/properties.h>
+#include <binder/ProcessState.h>
#include <fs_mgr_overlayfs.h>
#include <libavb_user/libavb_user.h>
@@ -153,6 +154,9 @@
return 1;
}
+ // Start a threadpool to service waitForService() callbacks as
+ // fs_mgr_overlayfs_* might call waitForService() to get the image service.
+ android::ProcessState::self()->startThreadPool();
bool any_changed = set_avb_verity_enabled_state(ops.get(), enable);
any_changed |= overlayfs_setup(enable);