afe2b1fadd
ANativeWindow::queueBuffer takes ownership of the fence fd passed to it, and will close it before returning. SurfaceFlinger's screenshot code was also closing the syncFd it passed to queueBuffer. Most of the time this meant the second close() silently failed, but in a rare race condition the file descriptor could be reused between the two close()s. Bug: 17946343 Change-Id: Ib74fcb1dce52cc21328059c99b7c4c76f41aa3a5 |
||
---|---|---|
.. | ||
DisplayHardware | ||
Effects | ||
EventLog | ||
RenderEngine | ||
tests | ||
Android.mk | ||
Barrier.h | ||
Client.cpp | ||
Client.h | ||
clz.h | ||
Colorizer.h | ||
DdmConnection.cpp | ||
DdmConnection.h | ||
DisplayDevice.cpp | ||
DisplayDevice.h | ||
DispSync.cpp | ||
DispSync.h | ||
EventControlThread.cpp | ||
EventControlThread.h | ||
EventThread.cpp | ||
EventThread.h | ||
FrameTracker.cpp | ||
FrameTracker.h | ||
Layer.cpp | ||
Layer.h | ||
LayerDim.cpp | ||
LayerDim.h | ||
main_surfaceflinger.cpp | ||
MessageQueue.cpp | ||
MessageQueue.h | ||
MODULE_LICENSE_APACHE2 | ||
MonitoredProducer.cpp | ||
MonitoredProducer.h | ||
SurfaceFlinger.cpp | ||
SurfaceFlinger.h | ||
SurfaceFlingerConsumer.cpp | ||
SurfaceFlingerConsumer.h | ||
Transform.cpp | ||
Transform.h |