From 26e520518fa75c736132701aade986650445be4f 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 MozReview-Commit-ID: 8iUVhiN9Ksk --HG-- extra : rebase_source : 294ac0a929ef5fcb889d5fbab4ecacdcbc9ffdf0 --- 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;