| Index: webrtc/base/messagequeue.cc
 | 
| diff --git a/webrtc/base/messagequeue.cc b/webrtc/base/messagequeue.cc
 | 
| index 8dd84cb89c256d4b3fd99ab6ba1240ef3300954e..4a30ad17cc2fec1494a50967762118d26ade4912 100644
 | 
| --- a/webrtc/base/messagequeue.cc
 | 
| +++ b/webrtc/base/messagequeue.cc
 | 
| @@ -146,9 +146,10 @@ void MessageQueueManager::ProcessAllMessageQueuesInternal() {
 | 
|    {
 | 
|      DebugNonReentrantCritScope cs(&crit_, &locked_);
 | 
|      for (MessageQueue* queue : message_queues_) {
 | 
| -      if (queue->IsQuitting()) {
 | 
| -        // If the queue is quitting, it's done processing messages so it can
 | 
| -        // be ignored. If we tried to post a message to it, it would be dropped.
 | 
| +      if (!queue->IsProcessingMessages()) {
 | 
| +        // If the queue is not processing messages, it can
 | 
| +        // be ignored. If we tried to post a message to it, it would be dropped
 | 
| +        // or ignored.
 | 
|          continue;
 | 
|        }
 | 
|        queue->PostDelayed(RTC_FROM_HERE, 0, nullptr, MQID_DISPOSE,
 | 
| @@ -251,6 +252,10 @@ bool MessageQueue::IsQuitting() {
 | 
|    return AtomicOps::AcquireLoad(&stop_) != 0;
 | 
|  }
 | 
|  
 | 
| +bool MessageQueue::IsProcessingMessages() {
 | 
| +  return !IsQuitting();
 | 
| +}
 | 
| +
 | 
|  void MessageQueue::Restart() {
 | 
|    AtomicOps::ReleaseStore(&stop_, 0);
 | 
|  }
 | 
| 
 |