platform_system_core/healthd
Todd Poynor 8bd30b3cf3 healthd: notify listeners using local copy of list, drop lock
Binder currently may service an incoming oneway transaction whenever
an outbound oneway call is made (if there is already a pending
incoming oneway call waiting).  The unexpected nested method call
blocks forever on a recursive mutex acquire because healthd is single-
threaded.  The binder behavior is considered a bug and may change in
the future.  For now, work around this in healthd.

Make a local copy of the listeners list, then drop the lock and
perform the outbound calls on the local copy of the list.

Bug: 38201220
Test: Marlin with modified client calling scheduleUpdate() repeatedly
Change-Id: If35c2847556245921e2aff808ff747bb60356811
2017-06-29 22:25:40 +00:00
..
images
include/healthd healthd: move binder fd to not use EPOLLWAKEUP am: e89ea5eb85 2016-10-21 21:53:49 +00:00
tests Allow customization of charger animation 2016-09-12 21:07:27 -07:00
Android.mk resolve merge conflicts of e3083de to nyc-mr1-dev-plus-aosp 2016-11-29 11:28:26 -08:00
animation.h Allow customization of charger animation 2016-09-12 21:07:27 -07:00
AnimationParser.cpp Allow customization of charger animation 2016-09-12 21:07:27 -07:00
AnimationParser.h Allow customization of charger animation 2016-09-12 21:07:27 -07:00
BatteryMonitor.cpp healthd: add battery health status values from JEITA spec 2017-06-20 18:08:51 -07:00
BatteryPropertiesRegistrar.cpp healthd: notify listeners using local copy of list, drop lock 2017-06-29 22:25:40 +00:00
BatteryPropertiesRegistrar.h healthd: Implement scheduleUpdate 2017-03-22 12:15:11 -07:00
healthd.cpp healthd: Show animation before waiting on timer 2016-11-29 21:40:59 +00:00
healthd_board_default.cpp healthd: separate libbatterymonitor for use in recovery. 2016-02-23 10:52:43 -08:00
healthd_mode_android.cpp healthd: separate libbatterymonitor for use in recovery. 2016-02-23 10:52:43 -08:00
healthd_mode_charger.cpp healthd: check console-ramoops-0 2017-06-27 09:28:57 -07:00