SurfaceFlinger: abandon Layer SurfaceTextures

This change makes the Layer::onRemoved method call
SurfaceTextures::abandon on the layer's SurfaceTexture.  This will cause
all client-initiated operations on the SurfaceTexture to fail.  In
particular, this will result in an error on the client side, rather than
a deadlock when removing a layer that used a SurfaceTexture in
synchronous mode.

Change-Id: I14014d00369f29560a21b606831edee432bb8867
Bug: 5020874
This commit is contained in:
Jamie Gennis 2011-07-30 14:33:49 -07:00
parent 8d944d254b
commit dbe6486ca1

View File

@ -105,6 +105,7 @@ void Layer::onFrameQueued() {
// in the purgatory list
void Layer::onRemoved()
{
mSurfaceTexture->abandon();
}
sp<ISurface> Layer::createSurface()