OSDN Git Service

aaudio: fix hang in client when audioserver dies
authorPhil Burk <philburk@google.com>
Mon, 28 Aug 2017 18:45:01 +0000 (11:45 -0700)
committerPhil Burk <philburk@google.com>
Mon, 28 Aug 2017 19:55:54 +0000 (12:55 -0700)
commit2bc7c1838703993e126bfe9a21fee053b6c0ab67
tree1de62456a6e61f35ca0d3d63947dc5a8f064cbfc
parent7124c1985b535a7862cd8f2706386a2a0ba676b2
aaudio: fix hang in client when audioserver dies

Fix timeout detection so that callback thread can die.
Prevent AAudioBinderClient singleton from getting deleted,
which caused a subsequent lock on a dead object to hang.

Bug: 64988439
Test: "write_sine -m2 -pl" and "adb shell killall audioserver"
Change-Id: I044bce385b66e69007d1997f051c9d6c042b7871
media/libaaudio/src/binding/AAudioBinderClient.cpp
media/libaaudio/src/binding/AAudioBinderClient.h
media/libaaudio/src/client/AudioStreamInternal.cpp