mirror of
https://github.com/Evolution-X/hardware_interfaces
synced 2026-02-01 16:23:37 +00:00
Merge "health: stop spamming."
This commit is contained in:
@@ -35,10 +35,9 @@ namespace health {
|
||||
namespace V2_1 {
|
||||
namespace implementation {
|
||||
|
||||
bool IsDeadObjectLogged(const Return<void>& ret) {
|
||||
bool IsDeadObject(const Return<void>& ret) {
|
||||
if (ret.isOk()) return false;
|
||||
if (ret.isDeadObject()) return true;
|
||||
LOG(ERROR) << "Cannot call healthInfoChanged* on callback: " << ret.description();
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -77,7 +76,7 @@ Return<Result> BinderHealth::registerCallback(const sp<V2_0::IHealthInfoCallback
|
||||
return;
|
||||
}
|
||||
auto ret = wrapped->Notify(health_info);
|
||||
if (IsDeadObjectLogged(ret)) {
|
||||
if (IsDeadObject(ret)) {
|
||||
// Remove callback reference.
|
||||
std::lock_guard<decltype(callbacks_lock_)> lock(callbacks_lock_);
|
||||
auto it = std::find_if(callbacks_.begin(), callbacks_.end(),
|
||||
@@ -133,7 +132,7 @@ void BinderHealth::OnHealthInfoChanged(const HealthInfo& health_info) {
|
||||
std::unique_lock<decltype(callbacks_lock_)> lock(callbacks_lock_);
|
||||
for (auto it = callbacks_.begin(); it != callbacks_.end();) {
|
||||
auto ret = (*it)->Notify(health_info);
|
||||
if (IsDeadObjectLogged(ret)) {
|
||||
if (IsDeadObject(ret)) {
|
||||
it = callbacks_.erase(it);
|
||||
} else {
|
||||
++it;
|
||||
|
||||
Reference in New Issue
Block a user