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

Commit 28af89be authored by Chavi Weingarten's avatar Chavi Weingarten Committed by Automerger Merge Worker
Browse files

Merge "Hold mMutex lock and check abandoned when accessing mLayer" into...

Merge "Hold mMutex lock and check abandoned when accessing mLayer" into rvc-dev am: a38a3e14 am: 365c269b am: bd4c87d5

Change-Id: Iba1750530821710d09856b8fb038068c8a4e3359
parents 20a4ccc2 bd4c87d5
Loading
Loading
Loading
Loading
+14 −0
Original line number Diff line number Diff line
@@ -452,6 +452,13 @@ void BufferLayerConsumer::freeBufferLocked(int slotIndex) {
}

void BufferLayerConsumer::onDisconnect() {
    Mutex::Autolock lock(mMutex);

    if (mAbandoned) {
        // Nothing to do if we're already abandoned.
        return;
    }

    mLayer->onDisconnect();
}

@@ -486,6 +493,13 @@ void BufferLayerConsumer::onBufferAvailable(const BufferItem& item) {

void BufferLayerConsumer::addAndGetFrameTimestamps(const NewFrameEventsEntry* newTimestamps,
                                                   FrameEventHistoryDelta* outDelta) {
    Mutex::Autolock lock(mMutex);

    if (mAbandoned) {
        // Nothing to do if we're already abandoned.
        return;
    }

    mLayer->addAndGetFrameTimestamps(newTimestamps, outDelta);
}

+2 −2
Original line number Diff line number Diff line
@@ -331,8 +331,8 @@ private:
    // construction time.
    const uint32_t mTexName;

    // The layer for this BufferLayerConsumer
    Layer* mLayer;
    // The layer for this BufferLayerConsumer. Always check mAbandoned before accessing.
    Layer* mLayer GUARDED_BY(mMutex);

    wp<ContentsChangedListener> mContentsChangedListener;