replicant-frameworks_native/libs/gui
Jesse Hall 9504eb915c Fix race condition in ConsumerBase::addReleaseFence()
This needs the ConsumerBase mutex locked, but wasn't locking it. Two
of the four places that called it already held the lock so were fine.
Now addReleaseFence() takes the lock itself, and I added
addReleaseFenceLocked() for the two already-locked callers, since in
one of them dropping the lock would be inconvenient.

Bug: 7289269
Change-Id: I7a5628adb516f8eec782aa6c14128202f96d7b0a
2012-10-05 14:40:50 -07:00
..
tests New test 2012-09-16 12:53:41 -07:00
Android.mk libgui: enable fence support for exynos5 2012-10-03 15:55:14 -07:00
BitTube.cpp return errors properly in BitTube and SensorEventQueue 2012-05-07 18:22:16 -07:00
BufferItemConsumer.cpp Fix race condition in ConsumerBase::addReleaseFence() 2012-10-05 14:40:50 -07:00
BufferQueue.cpp libgui: fix up compile options 2012-10-03 15:05:58 -07:00
CleanSpec.mk Fix missing parens in CleanSpec.mk. 2012-10-04 20:05:19 -07:00
ConsumerBase.cpp Fix race condition in ConsumerBase::addReleaseFence() 2012-10-05 14:40:50 -07:00
CpuConsumer.cpp Add Fence::waitForever which logs a warning timeout, and use it 2012-10-02 16:29:46 -07:00
DisplayEventReceiver.cpp use a socketpair instead of a pipe in BitTube 2012-04-02 18:41:10 -07:00
DummyConsumer.cpp Refactored DummyConsumer 2012-03-27 16:47:12 -07:00
GuiConfig.cpp libgui: fix up compile options 2012-10-03 15:05:58 -07:00
IDisplayEventConnection.cpp Improve the VSYNC api a bit. 2011-12-06 22:43:10 -08:00
IGraphicBufferAlloc.cpp libgui: add some error checks 2012-08-30 18:38:11 -07:00
ISensorEventConnection.cpp Rename SensorChannel to BitTube 2011-10-20 18:42:02 -07:00
ISensorServer.cpp improve [un]marshalling of non-binder objects 2012-08-13 02:46:05 -07:00
ISurface.cpp fix libgui header location 2012-02-27 13:03:08 -08:00
ISurfaceComposer.cpp Pass display arg to blank/unblank 2012-09-28 13:04:16 -07:00
ISurfaceComposerClient.cpp Banish DisplayID from the SurfaceFlinger API. 2012-08-27 14:40:17 -07:00
ISurfaceTexture.cpp Pass fences with buffers from SurfaceTextureClient 2012-06-30 21:38:51 -07:00
LayerState.cpp improve [un]marshalling of non-binder objects 2012-08-13 02:46:05 -07:00
Sensor.cpp improve [un]marshalling of non-binder objects 2012-08-13 02:46:05 -07:00
SensorEventQueue.cpp return errors properly in BitTube and SensorEventQueue 2012-05-07 18:22:16 -07:00
SensorManager.cpp Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE 2012-01-08 13:19:13 +00:00
Surface.cpp Remove unused "layer" argument from show(). 2012-08-27 14:40:17 -07:00
SurfaceComposerClient.cpp Revert "Compatibility work around for bad graphics driver dependency." 2012-09-27 15:52:12 -07:00
SurfaceTexture.cpp Fix race condition in ConsumerBase::addReleaseFence() 2012-10-05 14:40:50 -07:00
SurfaceTextureClient.cpp Add Fence::waitForever which logs a warning timeout, and use it 2012-10-02 16:29:46 -07:00