Index: content/child/child_io_surface_manager_mac.cc |
diff --git a/content/child/child_io_surface_manager_mac.cc b/content/child/child_io_surface_manager_mac.cc |
index 65df72b04aa034053d80a292362a0c234f574884..44eef959a4575d4f1ecf2ee4a76b1bf8ffabc7fb 100644 |
--- a/content/child/child_io_surface_manager_mac.cc |
+++ b/content/child/child_io_surface_manager_mac.cc |
@@ -5,6 +5,7 @@ |
#include "content/child/child_io_surface_manager_mac.h" |
#include "base/mac/mach_logging.h" |
+#include "base/threading/thread_restrictions.h" |
#include "content/common/mac/io_surface_manager_messages.h" |
namespace content { |
@@ -96,8 +97,11 @@ IOSurfaceRef ChildIOSurfaceManager::AcquireIOSurface( |
// A valid token is required to acquire an IOSurface. This will wait for a |
// valid token if one has not yet been set. |
- set_token_event_.Wait(); |
-#if !defined(NDEBUG) |
+ { |
+ base::ThreadRestrictions::ScopedAllowWait allow_wait; |
+ set_token_event_.Wait(); |
+ } |
+#if DCHECK_IS_ON() |
DCHECK(!(set_token_thread_id_ == base::PlatformThread::CurrentRef())); |
#endif |
DCHECK(!token_.IsZero()); |