Chromium Code Reviews| Index: webrtc/base/thread.cc |
| diff --git a/webrtc/base/thread.cc b/webrtc/base/thread.cc |
| index 4197d28175a05037f5ad953aba64d6b72ae62bef..9a4e20a2b08e67ef1a5076cb24b16a05f5696128 100644 |
| --- a/webrtc/base/thread.cc |
| +++ b/webrtc/base/thread.cc |
| @@ -139,7 +139,7 @@ Thread::ScopedDisallowBlockingCalls::~ScopedDisallowBlockingCalls() { |
| } |
| Thread::Thread(SocketServer* ss) |
| - : MessageQueue(ss), |
| + : MessageQueue(ss, false), |
| running_(true, false), |
| #if defined(WEBRTC_WIN) |
| thread_(NULL), |
| @@ -148,11 +148,12 @@ Thread::Thread(SocketServer* ss) |
| owned_(true), |
| blocking_calls_allowed_(true) { |
| SetName("Thread", this); // default name |
| + MessageQueueManager::Add(this); |
|
Taylor Brandstetter
2016/02/04 19:16:38
What if an AutoThread or ComThread is being constr
|
| } |
| Thread::~Thread() { |
| Stop(); |
| - Clear(NULL); |
| + DoDestroy(); |
| } |
| bool Thread::SleepMs(int milliseconds) { |
| @@ -519,12 +520,18 @@ AutoThread::AutoThread(SocketServer* ss) : Thread(ss) { |
| AutoThread::~AutoThread() { |
| Stop(); |
| + DoDestroy(); |
| if (ThreadManager::Instance()->CurrentThread() == this) { |
| ThreadManager::Instance()->SetCurrentThread(NULL); |
| } |
| } |
| #if defined(WEBRTC_WIN) |
| +ComThread::~ComThread() { |
| + Stop(); |
| + DoDestroy(); |
| +} |
| + |
| void ComThread::Run() { |
| HRESULT hr = CoInitializeEx(NULL, COINIT_MULTITHREADED); |
| ASSERT(SUCCEEDED(hr)); |