Loading cmds/servicemanager/ServiceManager.cpp +15 −8 Original line number Original line Diff line number Diff line Loading @@ -72,13 +72,20 @@ static bool meetsDeclarationRequirements(const sp<IBinder>& binder, const std::s #endif // !VENDORSERVICEMANAGER #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 // TODO(b/151696835): reenable performance hack when we solve bug, since with // can process these at any times, don't want to delay first VINTF client // this hack and other fixes, it is unlikely we will see even an ephemeral std::thread([] { // failure when the manifest parse fails. The goal is that the manifest will vintf::VintfObject::GetDeviceHalManifest(); // be read incorrectly and cause the process trying to register a HAL to vintf::VintfObject::GetFrameworkHalManifest(); // fail. If this is in fact an early boot kernel contention issue, then we }).detach(); // will get no failure, and by its absence, be signalled to invest more #endif // !VENDORSERVICEMANAGER // effort in re-adding this performance hack. // #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() { ServiceManager::~ServiceManager() { // this should only happen in tests // this should only happen in tests Loading Loading
cmds/servicemanager/ServiceManager.cpp +15 −8 Original line number Original line Diff line number Diff line Loading @@ -72,13 +72,20 @@ static bool meetsDeclarationRequirements(const sp<IBinder>& binder, const std::s #endif // !VENDORSERVICEMANAGER #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 // TODO(b/151696835): reenable performance hack when we solve bug, since with // can process these at any times, don't want to delay first VINTF client // this hack and other fixes, it is unlikely we will see even an ephemeral std::thread([] { // failure when the manifest parse fails. The goal is that the manifest will vintf::VintfObject::GetDeviceHalManifest(); // be read incorrectly and cause the process trying to register a HAL to vintf::VintfObject::GetFrameworkHalManifest(); // fail. If this is in fact an early boot kernel contention issue, then we }).detach(); // will get no failure, and by its absence, be signalled to invest more #endif // !VENDORSERVICEMANAGER // effort in re-adding this performance hack. // #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() { ServiceManager::~ServiceManager() { // this should only happen in tests // this should only happen in tests Loading