diff options
| -rw-r--r-- | cmds/servicemanager/main.cpp | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/cmds/servicemanager/main.cpp b/cmds/servicemanager/main.cpp index c8ceb42ac8..9f6193b97a 100644 --- a/cmds/servicemanager/main.cpp +++ b/cmds/servicemanager/main.cpp @@ -38,14 +38,13 @@ int main(int argc, char** argv) { android::base::InitLogging(nullptr, &android::base::KernelLogger); - ProcessState::self()->initWithDriver(driver); - ProcessState::self()->setThreadPoolMaxThreadCount(0); - ProcessState::self()->setCallRestriction( - ProcessState::CallRestriction::FATAL_IF_NOT_ONEWAY); + sp<ProcessState> ps = ProcessState::initWithDriver(driver); + ps->setThreadPoolMaxThreadCount(0); + ps->setCallRestriction(ProcessState::CallRestriction::FATAL_IF_NOT_ONEWAY); sp<ServiceManager> manager = new ServiceManager(std::make_unique<Access>()); IPCThreadState::self()->setTheContextObject(manager); - ProcessState::self()->becomeContextManager(nullptr, nullptr); + ps->becomeContextManager(nullptr, nullptr); IPCThreadState::self()->joinThreadPool(); |