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);