зеркало из https://github.com/mozilla/gecko-dev.git
Follow-up to bug 540886: address review comments I forgot to before pushing.
This commit is contained in:
Родитель
23f49f5ce9
Коммит
efe14287b3
|
@ -91,6 +91,7 @@ AsyncChannel::AsyncChannel(AsyncListener* aListener)
|
|||
mCvar(mMutex, "mozilla.ipc.AsyncChannel.mCvar"),
|
||||
mIOLoop(),
|
||||
mWorkerLoop(),
|
||||
mChild(false),
|
||||
mChannelErrorTask(NULL)
|
||||
{
|
||||
MOZ_COUNT_CTOR(AsyncChannel);
|
||||
|
|
|
@ -472,7 +472,7 @@ RPCChannel::BlockOnParent()
|
|||
NS_RUNTIMEABORT("attempt to block child when it's already blocked");
|
||||
|
||||
mBlockedOnParent = true;
|
||||
while (1) {
|
||||
do {
|
||||
// XXX this dispatch loop shares some similarities with the
|
||||
// one in Call(), but the logic is simpler and different
|
||||
// enough IMHO to warrant its own dispatch loop
|
||||
|
@ -502,12 +502,7 @@ RPCChannel::BlockOnParent()
|
|||
AsyncChannel::OnDispatchMessage(recvd);
|
||||
}
|
||||
}
|
||||
|
||||
// the last message, if async, may have been the one that
|
||||
// unblocks us
|
||||
if (!mBlockedOnParent)
|
||||
break;
|
||||
}
|
||||
} while (mBlockedOnParent);
|
||||
|
||||
EnqueuePendingMessages();
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче