OSDN Git Service

Add ThreadBase::processConfigEvents_l()
authorGlenn Kasten <gkasten@google.com>
Tue, 13 Aug 2013 23:00:42 +0000 (16:00 -0700)
committerGlenn Kasten <gkasten@google.com>
Thu, 15 Aug 2013 00:18:59 +0000 (17:18 -0700)
Change-Id: I6bcdc212a984c52ab98b0b0744943b4ecc1e1542

services/audioflinger/Threads.cpp
services/audioflinger/Threads.h

index 49520a1..9540e0a 100644 (file)
@@ -376,7 +376,12 @@ void AudioFlinger::ThreadBase::sendPrioConfigEvent_l(pid_t pid, pid_t tid, int32
 
 void AudioFlinger::ThreadBase::processConfigEvents()
 {
-    mLock.lock();
+    Mutex::Autolock _l(mLock);
+    processConfigEvents_l();
+}
+
+void AudioFlinger::ThreadBase::processConfigEvents_l()
+{
     while (!mConfigEvents.isEmpty()) {
         ALOGV("processConfigEvents() remaining events %d", mConfigEvents.size());
         ConfigEvent *event = mConfigEvents[0];
@@ -408,7 +413,6 @@ void AudioFlinger::ThreadBase::processConfigEvents()
         delete event;
         mLock.lock();
     }
-    mLock.unlock();
 }
 
 void AudioFlinger::ThreadBase::dumpBase(int fd, const Vector<String16>& args)
index 47dd3bd..176314a 100644 (file)
@@ -143,6 +143,7 @@ public:
                 void        sendIoConfigEvent_l(int event, int param = 0);
                 void        sendPrioConfigEvent_l(pid_t pid, pid_t tid, int32_t prio);
                 void        processConfigEvents();
+                void        processConfigEvents_l();
 
                 // see note at declaration of mStandby, mOutDevice and mInDevice
                 bool        standby() const { return mStandby; }