Merge "Hold mMutex lock and check abandoned when accessing mLayer" into rvc-dev
This commit is contained in:
commit
a38a3e145a
2 changed files with 16 additions and 2 deletions
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
Loading…
Reference in a new issue