Index: base/threading/platform_thread_posix.cc |
diff --git a/base/threading/platform_thread_posix.cc b/base/threading/platform_thread_posix.cc |
index 9a6a2bb999c4fe80adc83f874a0a08ea7b72116c..b2cd67e8083305c6d26e9a701f71c6f8b3c7154d 100644 |
--- a/base/threading/platform_thread_posix.cc |
+++ b/base/threading/platform_thread_posix.cc |
@@ -211,13 +211,14 @@ 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); |
- |
// 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. |
- base::ThreadRestrictions::AssertIOAllowed(); |
+ base::ThreadRestrictions::AssertWaitAllowed(); |
+ |
+ // Record the event that this thread is blocking upon (for hang diagnosis). |
+ base::debug::ScopedThreadJoinActivity thread_activity(&thread_handle); |
+ |
CHECK_EQ(0, pthread_join(thread_handle.platform_handle(), NULL)); |
} |