USB: HIDL: check the status of registerAsService
registerAsService call could fail. Hence check the return value.
Bug: 36704362
Test: Manually checked to see if usb hal service is running.
Change-Id: I46dcd74dbee6aba72cf344f10854e5d4b1b6de18
diff --git a/usb/service.cpp b/usb/service.cpp
index 4605a4c..b52a36f 100644
--- a/usb/service.cpp
+++ b/usb/service.cpp
@@ -27,13 +27,23 @@
using android::hardware::usb::V1_0::IUsb;
using android::hardware::usb::V1_0::implementation::Usb;
-int main() {
+using android::status_t;
+using android::OK;
+int main() {
android::sp<IUsb> service = new Usb();
configureRpcThreadpool(1, true /*callerWillJoin*/);
- service->registerAsService();
+ status_t status = service->registerAsService();
+
+ if (status != OK) {
+ ALOGE("Cannot register USB HAL service");
+ return 1;
+ }
ALOGI("USB HAL Ready.");
joinRpcThreadpool();
+ // Under noraml cases, execution will not reach this line.
+ ALOGI("USB HAL failed to join thread pool.");
+ return 1;
}