diff options
Diffstat (limited to 'services')
-rw-r--r-- | services/audioflinger/Threads.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/services/audioflinger/Threads.cpp b/services/audioflinger/Threads.cpp index 64d7ec3..110e45c 100644 --- a/services/audioflinger/Threads.cpp +++ b/services/audioflinger/Threads.cpp @@ -3863,7 +3863,12 @@ bool AudioFlinger::AsyncCallbackThread::threadLoop() { Mutex::Autolock _l(mLock); - mWaitWorkCV.wait(mLock); + while (!((mWriteAckSequence & 1) || + (mDrainSequence & 1) || + exitPending())) { + mWaitWorkCV.wait(mLock); + } + if (exitPending()) { break; } |