Merge "Revert "Revert "hwservicemanager.rc: modify to start earlier."""
diff --git a/service.cpp b/service.cpp
index 755e463..b72205e 100644
--- a/service.cpp
+++ b/service.cpp
@@ -77,23 +77,15 @@
IPCThreadState::self()->setupPolling(&binder_fd);
if (binder_fd < 0) {
- ALOGE("Failed to aquire binder FD; staying around but doing nothing");
- // hwservicemanager is a critical service; until support for /dev/hwbinder
- // is checked in for all devices, prevent it from exiting; if it were to
- // exit, it would get restarted again and fail again several times,
- // eventually causing the device to boot into recovery mode.
- // TODO: revert
- while (true) {
- sleep(UINT_MAX);
- }
+ ALOGE("Failed to aquire binder FD. Aborting...");
return -1;
}
sp<BinderCallback> cb(new BinderCallback);
if (looper->addFd(binder_fd, Looper::POLL_CALLBACK, Looper::EVENT_INPUT, cb,
- nullptr) != 1) {
- ALOGE("Failed to add binder FD to Looper");
- return -1;
+ nullptr) != 1) {
+ ALOGE("Failed to add hwbinder FD to Looper. Aborting...");
+ return -1;
}
// Tell IPCThreadState we're the service manager
@@ -104,8 +96,8 @@
int rc = property_set("hwservicemanager.ready", "true");
if (rc) {
- ALOGE("Failed to set \"hwservicemanager.ready\" (error %d). "\
- "HAL services will not launch!\n", rc);
+ ALOGE("Failed to set \"hwservicemanager.ready\" (error %d). "\
+ "HAL services will not start!\n", rc);
}
while (true) {