From c26878b866f10a3c79c96fbe7d0d684c1e2755cd Mon Sep 17 00:00:00 2001 From: Benoit Girard Date: Wed, 16 Mar 2016 17:15:38 -0400 Subject: [PATCH] Bug 1257314 - Properly lock in IPC PeekMessages. r=dvander a=topcrash MozReview-Commit-ID: 8iUVhiN9Ksk --HG-- extra : source : 186064e556caa51a3cb804e43ff7356b36e3e2f2 --- ipc/glue/MessageChannel.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/ipc/glue/MessageChannel.cpp b/ipc/glue/MessageChannel.cpp index d9f295f60286..b05534bd5f0f 100644 --- a/ipc/glue/MessageChannel.cpp +++ b/ipc/glue/MessageChannel.cpp @@ -976,7 +976,10 @@ MessageChannel::OnMessageReceivedFromLink(const Message& aMsg) } void -MessageChannel::PeekMessages(msgid_t aMsgId, mozilla::function aInvoke) { +MessageChannel::PeekMessages(msgid_t aMsgId, mozilla::function aInvoke) +{ + MonitorAutoLock lock(*mMonitor); + for (MessageQueue::iterator it = mPending.begin(); it != mPending.end(); it++) { Message &msg = *it;