0b3ad46a26
The ANR is caused by SurfaceFlinger waiting for buffers of a removed surface to become availlable. When it is removed from the current list, a Surface is marked as NO_INIT, which causes SF to return immediately in the above case. For some reason, the surface here wasn't marked as NO_INIT. This change makes the code more robust by always (irregadless or errors) setting the NO_INIT status in all code paths where a surface is removed from the list. Additionaly added more information in the logs, should this happen again. |
||
---|---|---|
.. | ||
tests | ||
Android.mk | ||
BufferMapper.cpp | ||
Camera.cpp | ||
CameraParameters.cpp | ||
EGLUtils.cpp | ||
EventHub.cpp | ||
EventRecurrence.cpp | ||
FramebufferNativeWindow.cpp | ||
ICamera.cpp | ||
ICameraClient.cpp | ||
ICameraService.cpp | ||
IOverlay.cpp | ||
ISurface.cpp | ||
ISurfaceComposer.cpp | ||
ISurfaceFlingerClient.cpp | ||
KeyCharacterMap.cpp | ||
KeyLayoutMap.cpp | ||
KeyLayoutMap.h | ||
LayerState.cpp | ||
MODULE_LICENSE_APACHE2 | ||
NOTICE | ||
Overlay.cpp | ||
PixelFormat.cpp | ||
Rect.cpp | ||
Region.cpp | ||
SharedBufferStack.cpp | ||
Surface.cpp | ||
SurfaceBuffer.cpp | ||
SurfaceComposerClient.cpp | ||
SurfaceFlingerSynchro.cpp |