| 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);
|
| }
|
|
|