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

Commit 931f8563 authored by Shai Barack's avatar Shai Barack
Browse files

Fix MessageQueue race between quit and stackHasMessages

Fixes: 418942535
Flag: build.RELEASE_PACKAGE_MESSAGEQUEUE_IMPLEMENTATION
Test: MessageQueueTest#testStressQuit
Change-Id: I47cab56b056c5ad19dc78067f1a6371adfcc3dda
parent 6c2be9e3
Loading
Loading
Loading
Loading
+3 −2
Original line number Original line Diff line number Diff line
@@ -3047,8 +3047,9 @@ public final class MessageQueue {


        if (top.isQuittingNode()) {
        if (top.isQuittingNode()) {
            QuittingNode quittingNode = (QuittingNode) top;
            QuittingNode quittingNode = (QuittingNode) top;
            if (quittingNode.mNext.isMessageNode()) {
            StackNode next = quittingNode.mNext;
                top = quittingNode.mNext;
            if (next.isMessageNode()) {
                top = next;
            } else {
            } else {
                waitForDrainCompleted();
                waitForDrainCompleted();
                return false;
                return false;