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

Commit c064db48 authored by Greg Kaiser's avatar Greg Kaiser Committed by Gerrit Code Review
Browse files

Merge "SharedBuffer: Fix bug in return value of release()"

parents 9cd828b8 c9b23cbb
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -114,7 +114,8 @@ void SharedBuffer::acquire() const {
int32_t SharedBuffer::release(uint32_t flags) const
{
    int32_t prev = 1;
    if (onlyOwner() || ((prev = mRefs.fetch_sub(1, std::memory_order_release) == 1)
    if (onlyOwner()
            || (((prev = mRefs.fetch_sub(1, std::memory_order_release)) == 1)
                && (atomic_thread_fence(std::memory_order_acquire), true))) {
        mRefs.store(0, std::memory_order_relaxed);
        if ((flags & eKeepStorage) == 0) {