replicant-frameworks_native/libs/gui
Antoine Labour 78014f32da BufferQueue: release mutex while allocating. DO NOT MERGE
BufferQueueProducer::allocateBuffers used to keep the BufferQueueCore
mutex while doing the buffer allocation, which would cause the consumer
(which also needs the mutex) to block if the allocation takes a long
time.
Instead, release the mutex while doing the allocation, and grab it again
before filling the slots. Keep a bool state and a condvar to prevent
other producers from trying to allocate the slots while the mutex is
released.

Bug: 11792166

Change-Id: I4ab1319995ef892be2beba892f1fdbf50ce0416d
(cherry picked from commit ea96044470)
2014-07-22 19:45:55 +00:00
..
tests GLConsumer: Stop using default constructor params 2014-06-24 13:09:19 -07:00
Android.mk
BitTube.cpp libgui: 64-bit compile issues 2014-06-09 14:27:45 -07:00
BufferItem.cpp
BufferItemConsumer.cpp
BufferQueue.cpp
BufferQueueConsumer.cpp libgui: 64 bit compile issues (part deux) 2014-06-09 15:42:26 -07:00
BufferQueueCore.cpp BufferQueue: release mutex while allocating. DO NOT MERGE 2014-07-22 19:45:55 +00:00
BufferQueueProducer.cpp BufferQueue: release mutex while allocating. DO NOT MERGE 2014-07-22 19:45:55 +00:00
BufferSlot.cpp
CleanSpec.mk
ConsumerBase.cpp am 72676e7d: am 0e1313cd: Merge "libgui: 64-bit compile issues" 2014-06-11 17:44:52 +00:00
CpuConsumer.cpp
DisplayEventReceiver.cpp
GLConsumer.cpp GLConsumer: Allow creation in detached mode 2014-06-25 15:00:48 -07:00
GraphicBufferAlloc.cpp
GuiConfig.cpp
IConsumerListener.cpp
IDisplayEventConnection.cpp
IGraphicBufferAlloc.cpp
IGraphicBufferConsumer.cpp
IGraphicBufferProducer.cpp Add sticky transform to surfaceflinger. 2014-07-14 22:14:32 +00:00
IProducerListener.cpp
ISensorEventConnection.cpp
ISensorServer.cpp
ISurfaceComposer.cpp surfaceflinger: Replace blank/unblank with setPowerMode 2014-06-05 16:35:52 -07:00
ISurfaceComposerClient.cpp
LayerState.cpp
Sensor.cpp Add glance gesture for doze mode. 2014-07-17 18:19:53 -07:00
SensorEventQueue.cpp
SensorManager.cpp
StreamSplitter.cpp libgui: 64 bit compile issues (part deux) 2014-06-09 15:42:26 -07:00
Surface.cpp Add sticky transform to surfaceflinger. 2014-07-14 22:14:32 +00:00
SurfaceComposerClient.cpp surfaceflinger: Replace blank/unblank with setPowerMode 2014-06-05 16:35:52 -07:00
SurfaceControl.cpp
SyncFeatures.cpp