Add locking to signal in AudioCache::notify(). Bug 2317844.
diff --git a/media/libmediaplayerservice/MediaPlayerService.cpp b/media/libmediaplayerservice/MediaPlayerService.cpp
index c26d682..6332f70 100644
--- a/media/libmediaplayerservice/MediaPlayerService.cpp
+++ b/media/libmediaplayerservice/MediaPlayerService.cpp
@@ -1768,7 +1768,7 @@
status_t MediaPlayerService::AudioCache::wait()
{
Mutex::Autolock lock(mLock);
- if (!mCommandComplete) {
+ while (!mCommandComplete) {
mSignal.wait(mLock);
}
mCommandComplete = false;
@@ -1805,6 +1805,7 @@
}
// wake up thread
+ Mutex::Autolock lock(mLock);
p->mCommandComplete = true;
p->mSignal.signal();
}