Index: base/threading/thread.cc |
diff --git a/base/threading/thread.cc b/base/threading/thread.cc |
index c775fe749b1153cc0f29eb6d6ed9d50203e5ffa0..9d1ca8efa3f1e43bd5b82cddf93048fa7b2eb8e6 100644 |
--- a/base/threading/thread.cc |
+++ b/base/threading/thread.cc |
@@ -262,8 +262,12 @@ void Thread::ThreadMain() { |
com_initializer.reset(); |
#endif |
- // Assert that MessageLoop::QuitWhenIdle was called by ThreadQuitHelper. |
- DCHECK(GetThreadWasQuitProperly()); |
+ if (message_loop->type() != MessageLoop::TYPE_CUSTOM) { |
+ // Assert that MessageLoop::QuitWhenIdle was called by ThreadQuitHelper. |
+ // Don't check for custom message pumps, because their shutdown might not |
+ // allow this. |
+ DCHECK(GetThreadWasQuitProperly()); |
+ } |
// We can't receive messages anymore. |
// (The message loop is destructed at the end of this block) |