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

Commit f1c97695 authored by Deva Ramasubramanian's avatar Deva Ramasubramanian Committed by Arne Coucheron
Browse files

utils/SharedBuffer: Make variable write atomic

On release(), mRefs write has a data race with
SharedBuffer::onlyOwner(). This change makes
the write atomic.

Change-Id: If5d71800e15214b237b00ba8cb0258967b6472c7
parent c23a086f
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -101,7 +101,7 @@ int32_t SharedBuffer::release(uint32_t flags) const
{
    int32_t prev = 1;
    if (onlyOwner() || ((prev = android_atomic_dec(&mRefs)) == 1)) {
        mRefs = 0;
        android_atomic_write(0, &mRefs);
        if ((flags & eKeepStorage) == 0) {
            free(const_cast<SharedBuffer*>(this));
        }