summaryrefslogtreecommitdiff
path: root/opengl/tests/gl_basic/gl_basic.cpp
diff options
context:
space:
mode:
authorJesse Hall <jessehall@google.com>2011-12-02 10:00:00 -0800
committerJesse Hall <jessehall@google.com>2011-12-02 10:03:25 -0800
commit2f4b68d21c1a58cbcb1e6929fb241e425a8f7b5d (patch)
tree88baac453fb94cf361eef046e2dc2d7525106997 /opengl/tests/gl_basic/gl_basic.cpp
parentafdc18bb0cce605e03f1829f7226a8f793aab618 (diff)
SurfaceFlinger: fix layer removal race condition
Layer::lockPageFlip() and layer::onRemove() could be called on different threads and race such that lockPageFlip() successfully called mSurfaceTexture->updateTexImage() but then gets NULL back from mSurfaceTexture->getCurrentBuffer(), leading to a crash. This change moves Layer::onRemove() calls to SurfaceFlinger::commitTransaction() so they happen after the Layer is done being drawn from and only happen on the main surfaceflinger thread. Change-Id: I4b550caadff4cc1878d7c3bca6129193fb0c713e
Diffstat (limited to 'opengl/tests/gl_basic/gl_basic.cpp')
0 files changed, 0 insertions, 0 deletions