summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Steven Moreland <smoreland@google.com> 2019-11-18 16:58:41 -0800
committer android-build-merger <android-build-merger@google.com> 2019-11-18 16:58:41 -0800
commit39988e32373994cb693f7568f20ce34f5fa954c6 (patch)
tree280195da9db2c691f9a52d6666d1dba7ed6d6b3d
parentd3df1b3476a0840c16622be619ba5876351a2bb2 (diff)
parent061df1d9894a9466f54ca1389cbb91928810723a (diff)
Merge "servicemanager: preload vintf manifest" am: bd1bb497b7 am: d965b134f1
am: 061df1d989 Change-Id: I3fcbe29044048054eca46259860a9cb6ddbc0248
-rw-r--r--cmds/servicemanager/ServiceManager.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/cmds/servicemanager/ServiceManager.cpp b/cmds/servicemanager/ServiceManager.cpp
index 861401c979..2d2af3c716 100644
--- a/cmds/servicemanager/ServiceManager.cpp
+++ b/cmds/servicemanager/ServiceManager.cpp
@@ -68,7 +68,15 @@ static bool meetsDeclarationRequirements(const sp<IBinder>& binder, const std::s
}
#endif // !VENDORSERVICEMANAGER
-ServiceManager::ServiceManager(std::unique_ptr<Access>&& access) : mAccess(std::move(access)) {}
+ServiceManager::ServiceManager(std::unique_ptr<Access>&& access) : mAccess(std::move(access)) {
+#ifndef VENDORSERVICEMANAGER
+ // can process these at any times, don't want to delay first VINTF client
+ std::thread([] {
+ vintf::VintfObject::GetDeviceHalManifest();
+ vintf::VintfObject::GetFrameworkHalManifest();
+ }).detach();
+#endif // !VENDORSERVICEMANAGER
+}
ServiceManager::~ServiceManager() {
// this should only happen in tests