storaged: stop binder threads before exiting

Test: kill healthd when storaged is running
Bug: 36652060
Change-Id: Ie55fb6cb7c8c6df6ce6bc4820c476b90cc0f4165
This commit is contained in:
Jin Qian 2017-04-03 18:10:38 -07:00
parent 566e63da53
commit 26b2be0d30
1 changed files with 2 additions and 0 deletions

View File

@ -23,6 +23,7 @@
#include <android-base/logging.h>
#include <batteryservice/BatteryServiceConstants.h>
#include <batteryservice/IBatteryPropertiesRegistrar.h>
#include <binder/IPCThreadState.h>
#include <binder/IServiceManager.h>
#include <cutils/properties.h>
#include <log/log.h>
@ -192,6 +193,7 @@ void storaged_t::binderDied(const wp<IBinder>& who) {
if (battery_properties != NULL &&
IInterface::asBinder(battery_properties) == who) {
LOG_TO(SYSTEM, ERROR) << "batteryproperties service died, exiting";
IPCThreadState::self()->stopProcess();
exit(1);
} else {
LOG_TO(SYSTEM, ERROR) << "unknown service died";