Merge "metricsd binder: Abort if fail to register service" am: 59e5c25919
am: 4a90546b6f
* commit '4a90546b6f1d2e256993389e5ff9e0bec6da68c2':
metricsd binder: Abort if fail to register service
diff --git a/metricsd/uploader/bn_metricsd_impl.cc b/metricsd/uploader/bn_metricsd_impl.cc
index 113a705..2cbc2da 100644
--- a/metricsd/uploader/bn_metricsd_impl.cc
+++ b/metricsd/uploader/bn_metricsd_impl.cc
@@ -21,6 +21,7 @@
#include <base/metrics/statistics_recorder.h>
#include <binder/IPCThreadState.h>
#include <binder/IServiceManager.h>
+#include <utils/Errors.h>
#include <utils/String16.h>
#include <utils/String8.h>
@@ -33,11 +34,14 @@
BnMetricsdImpl::BnMetricsdImpl(const std::shared_ptr<CrashCounters>& counters)
: counters_(counters) {
- CHECK(counters_);
+ CHECK(counters_) << "Invalid counters argument to constructor";
}
void BnMetricsdImpl::Run() {
- android::defaultServiceManager()->addService(getInterfaceDescriptor(), this);
+ android::status_t status =
+ android::defaultServiceManager()->addService(getInterfaceDescriptor(),
+ this);
+ CHECK(status == android::OK) << "Metricsd service registration failed";
android::ProcessState::self()->setThreadPoolMaxThreadCount(0);
android::IPCThreadState::self()->disableBackgroundScheduling(true);
android::IPCThreadState::self()->joinThreadPool();