diff options
author | Todd Poynor <toddpoynor@google.com> | 2017-06-26 14:34:38 -0700 |
---|---|---|
committer | Todd Poynor <toddpoynor@google.com> | 2017-06-29 22:25:40 +0000 |
commit | 8bd30b3cf351377adbbe71a1e9b4df97eb47acda (patch) | |
tree | 9c5d83f28a8c26202be80296e652ebef110c4b93 /libunwindstack/tests/MemoryFileTest.cpp | |
parent | 51b4f48280bed76bdc8c1758ff6c77435989a33e (diff) |
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
Diffstat (limited to 'libunwindstack/tests/MemoryFileTest.cpp')
0 files changed, 0 insertions, 0 deletions