diff options
Diffstat (limited to 'cmds/servicemanager/ServiceManager.cpp')
| -rw-r--r-- | cmds/servicemanager/ServiceManager.cpp | 5 | 
1 files changed, 5 insertions, 0 deletions
diff --git a/cmds/servicemanager/ServiceManager.cpp b/cmds/servicemanager/ServiceManager.cpp index 1e88aaf63b..cbbea128a6 100644 --- a/cmds/servicemanager/ServiceManager.cpp +++ b/cmds/servicemanager/ServiceManager.cpp @@ -522,6 +522,11 @@ Status ServiceManager::tryUnregisterService(const std::string& name, const sp<IB          return Status::fromExceptionCode(Status::EX_ILLEGAL_STATE);      } +    if (serviceIt->second.guaranteeClient) { +        LOG(INFO) << "Tried to unregister " << name << ", but there is about to be a client."; +        return Status::fromExceptionCode(Status::EX_ILLEGAL_STATE); +    } +      int clients = handleServiceClientCallback(name, false);      // clients < 0: feature not implemented or other error. Assume clients.  |