Index: base/threading/platform_thread_win.cc |
diff --git a/base/threading/platform_thread_win.cc b/base/threading/platform_thread_win.cc |
index e271fe8225545e14db5738f9cb8a7f9c7dd1d7cf..289aebf9b78edaf4b374d881e3a928a435b998fa 100644 |
--- a/base/threading/platform_thread_win.cc |
+++ b/base/threading/platform_thread_win.cc |
@@ -225,18 +225,15 @@ bool PlatformThread::CreateNonJoinableWithPriority(size_t stack_size, |
// static |
void PlatformThread::Join(PlatformThreadHandle thread_handle) { |
- // Record the event that this thread is blocking upon (for hang diagnosis). |
- base::debug::ScopedThreadJoinActivity thread_activity(&thread_handle); |
- |
DCHECK(thread_handle.platform_handle()); |
- // TODO(willchan): Enable this check once I can get it to work for Windows |
- // shutdown. |
+ |
// Joining another thread may block the current thread for a long time, since |
// the thread referred to by |thread_handle| may still be running long-lived / |
// blocking tasks. |
-#if 0 |
- base::ThreadRestrictions::AssertIOAllowed(); |
-#endif |
+ base::ThreadRestrictions::AssertWaitAllowed(); |
+ |
+ // Record the event that this thread is blocking upon (for hang diagnosis). |
+ base::debug::ScopedThreadJoinActivity thread_activity(&thread_handle); |
// Wait for the thread to exit. It should already have terminated but make |
// sure this assumption is valid. |