| Index: webrtc/base/messagequeue.cc
 | 
| diff --git a/webrtc/base/messagequeue.cc b/webrtc/base/messagequeue.cc
 | 
| index 61aa61192bbad69d87ddf5e79aab3a5af3ce290f..140dd672244e9210efac0ca07bf6bd4cc27afde5 100644
 | 
| --- a/webrtc/base/messagequeue.cc
 | 
| +++ b/webrtc/base/messagequeue.cc
 | 
| @@ -113,6 +113,27 @@ void MessageQueueManager::ClearInternal(MessageHandler *handler) {
 | 
|      (*iter)->Clear(handler);
 | 
|  }
 | 
|  
 | 
| +class NoOpMessageHandler : public MessageHandler {
 | 
| + public:
 | 
| +  void OnMessage(Message* msg) override {}
 | 
| +};
 | 
| +
 | 
| +void MessageQueueManager::WakeAllMessageQueues() {
 | 
| +  if (!instance_) {
 | 
| +    return;
 | 
| +  }
 | 
| +  return Instance()->WakeAllMessageQueuesInternal();
 | 
| +}
 | 
| +void MessageQueueManager::WakeAllMessageQueuesInternal() {
 | 
| +#if CS_DEBUG_CHECKS  // CurrentThreadIsOwner returns true by default.
 | 
| +  ASSERT(!crit_.CurrentThreadIsOwner());  // See note above.
 | 
| +#endif
 | 
| +  CritScope cs(&crit_);
 | 
| +  for (MessageQueue* queue : message_queues_) {
 | 
| +    queue->Post(new NoOpMessageHandler(), 0);
 | 
| +  }
 | 
| +}
 | 
| +
 | 
|  //------------------------------------------------------------------
 | 
|  // MessageQueue
 | 
|  
 | 
| 
 |