mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 1240985 - Stop returning MsgNotAllowed (r=dvander)
This commit is contained in:
parent
a004849345
commit
8388dd95c6
@ -327,7 +327,6 @@ MessageChannel::MessageChannel(MessageListener *aListener)
|
||||
mDispatchingAsyncMessagePriority(0),
|
||||
mCurrentTransaction(0),
|
||||
mTimedOutMessageSeqno(0),
|
||||
mTimedOutMessagePriority(0),
|
||||
mRecvdErrors(0),
|
||||
mRemoteStackDepthGuess(false),
|
||||
mSawInterruptOutMsg(false),
|
||||
@ -1043,7 +1042,6 @@ MessageChannel::Send(Message* aMsg, Message* aReply)
|
||||
}
|
||||
|
||||
mTimedOutMessageSeqno = seqno;
|
||||
mTimedOutMessagePriority = prio;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@ -1413,22 +1411,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<MessageChannel*> blocked(blockingVar, this);
|
||||
AutoSetValue<bool> sync(mDispatchingSyncMessage, true);
|
||||
AutoSetValue<int> prioSet(mDispatchingSyncMessagePriority, prio);
|
||||
|
@ -630,7 +630,6 @@ class MessageChannel : HasResultCodes
|
||||
// hitting a lot of corner cases with message nesting that we don't really
|
||||
// care about.
|
||||
int32_t mTimedOutMessageSeqno;
|
||||
int mTimedOutMessagePriority;
|
||||
|
||||
// If waiting for the reply to a sync out-message, it will be saved here
|
||||
// on the I/O thread and then read and cleared by the worker thread.
|
||||
|
Loading…
Reference in New Issue
Block a user