From: Mikhail Naganov Date: Mon, 20 Mar 2017 17:58:07 +0000 (-0700) Subject: audiohal: Exit instead of crashing when HAL factory can't be obtained X-Git-Tag: android-x86-8.1-r1~350^2 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=1ba4041b6248aff42c01d27832995ebdf431bbd1;p=android-x86%2Fframeworks-av.git audiohal: Exit instead of crashing when HAL factory can't be obtained Replace LOG_ALWAYS_FATAL with ALOGE + exit, so the process still restarts, but without a crash. This avoids confusion in bug triaging and also helps to eliminate noise in bug reports statistics. Bug: 36424777 Change-Id: I623cbc6a5b0d3351f849810dd67708d421efd61a Test: reproduced error condition, checked that audio server restarts --- diff --git a/media/libaudiohal/DevicesFactoryHalHidl.cpp b/media/libaudiohal/DevicesFactoryHalHidl.cpp index 758a580529..fc2645ecf9 100644 --- a/media/libaudiohal/DevicesFactoryHalHidl.cpp +++ b/media/libaudiohal/DevicesFactoryHalHidl.cpp @@ -45,7 +45,8 @@ DevicesFactoryHalHidl::DevicesFactoryHalHidl() { // and thus have the same lifespan. mDevicesFactory->linkToDeath(HalDeathHandler::getInstance(), 0 /*cookie*/); } else { - LOG_ALWAYS_FATAL("Failed to obtain IDevicesFactory service"); + ALOGE("Failed to obtain IDevicesFactory service, terminating process."); + exit(1); } } diff --git a/media/libaudiohal/EffectsFactoryHalHidl.cpp b/media/libaudiohal/EffectsFactoryHalHidl.cpp index f7dbb9c5d6..605c059b01 100644 --- a/media/libaudiohal/EffectsFactoryHalHidl.cpp +++ b/media/libaudiohal/EffectsFactoryHalHidl.cpp @@ -44,7 +44,10 @@ bool EffectsFactoryHalInterface::isNullUuid(const effect_uuid_t *pEffectUuid) { EffectsFactoryHalHidl::EffectsFactoryHalHidl() : ConversionHelperHidl("EffectsFactory") { mEffectsFactory = IEffectsFactory::getService(); - LOG_ALWAYS_FATAL_IF(mEffectsFactory == 0, "Failed to obtain IEffectsFactory service"); + if (mEffectsFactory == 0) { + ALOGE("Failed to obtain IEffectsFactory service, terminating process."); + exit(1); + } } EffectsFactoryHalHidl::~EffectsFactoryHalHidl() {