Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 720e8244 authored by Rob Carr's avatar Rob Carr Committed by Android (Google) Code Review
Browse files

Merge "SurfaceFlinger: Hold lock while constructing BufferStateLayer"

parents 15238e83 1af98ee6
Loading
Loading
Loading
Loading
+8 −1
Original line number Original line Diff line number Diff line
@@ -4035,7 +4035,14 @@ status_t SurfaceFlinger::createBufferStateLayer(const sp<Client>& client, std::s
                                                sp<Layer>* outLayer) {
                                                sp<Layer>* outLayer) {
    LayerCreationArgs args(this, client, std::move(name), w, h, flags, std::move(metadata));
    LayerCreationArgs args(this, client, std::move(name), w, h, flags, std::move(metadata));
    args.textureName = getNewTexture();
    args.textureName = getNewTexture();
    sp<BufferStateLayer> layer = getFactory().createBufferStateLayer(args);
    sp<BufferStateLayer> layer;
    {
        // TODO (b/173538294): Investigate why we need mStateLock here and above in
        // createBufferQueue layer. Is it the renderengine::Image?
        Mutex::Autolock lock(mStateLock);
        layer = getFactory().createBufferStateLayer(args);

    }
    *handle = layer->getHandle();
    *handle = layer->getHandle();
    *outLayer = layer;
    *outLayer = layer;