From 43897699b1026ff85daddb2e42cbb5ad3da04613 Mon Sep 17 00:00:00 2001 From: Bill McCloskey Date: Mon, 25 Jan 2016 16:57:25 -0800 Subject: [PATCH] Bug 1240985 - Stop returning MsgNotAllowed (r=dvander) --- ipc/glue/MessageChannel.cpp | 17 +---------------- 1 file changed, 1 insertion(+), 16 deletions(-) diff --git a/ipc/glue/MessageChannel.cpp b/ipc/glue/MessageChannel.cpp index f49f24d03b8b..57a32e75370a 100644 --- a/ipc/glue/MessageChannel.cpp +++ b/ipc/glue/MessageChannel.cpp @@ -1433,22 +1433,7 @@ MessageChannel::DispatchSyncMessage(const Message& aMsg, Message*& aReply) MessageChannel*& blockingVar = ShouldBlockScripts() ? gParentProcessBlocker : dummy; Result rv; - if (mTimedOutMessageSeqno && mTimedOutMessagePriority >= prio) { - // If the other side sends a message in response to one of our messages - // that we've timed out, then we reply with an error. - // - // We do this because want to avoid a situation where we process an - // incoming message from the child here while it simultaneously starts - // processing our timed-out CPOW. It's very bad for both sides to - // be processing sync messages concurrently. - // - // The only exception is if the incoming message has urgent priority and - // our timed-out message had only high priority. In that case it's safe - // to process the incoming message because we know that the child won't - // process anything (the child will defer incoming messages when waiting - // for a response to its urgent message). - rv = MsgNotAllowed; - } else { + { AutoSetValue blocked(blockingVar, this); AutoSetValue sync(mDispatchingSyncMessage, true); AutoSetValue prioSet(mDispatchingSyncMessagePriority, prio);