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