Index: blimp/client/core/compositor/blimp_compositor_dependencies.cc |
diff --git a/blimp/client/core/compositor/blimp_compositor_dependencies.cc b/blimp/client/core/compositor/blimp_compositor_dependencies.cc |
index a765adbfba8760391aee2775f6e49a39e8bfc869..60d4d05598cd4c9c9243029d1fdc170411cce8c0 100644 |
--- a/blimp/client/core/compositor/blimp_compositor_dependencies.cc |
+++ b/blimp/client/core/compositor/blimp_compositor_dependencies.cc |
@@ -9,6 +9,7 @@ |
#include "base/memory/ptr_util.h" |
#include "base/threading/simple_thread.h" |
#include "base/threading/thread.h" |
+#include "base/threading/thread_restrictions.h" |
#include "blimp/client/core/compositor/blob_image_serialization_processor.h" |
#include "blimp/client/public/compositor/compositor_dependencies.h" |
#include "blimp/client/support/compositor/blimp_layer_tree_settings.h" |
@@ -26,7 +27,13 @@ class BlimpTaskGraphRunner : public cc::SingleThreadTaskGraphRunner { |
base::SimpleThread::Options(base::ThreadPriority::BACKGROUND)); |
} |
- ~BlimpTaskGraphRunner() override { Shutdown(); } |
+ ~BlimpTaskGraphRunner() override { |
+ // PlatformThread::Join() ends up relying on IO. Temporarily allow this |
+ // during shutdown. |
+ // TODO(me): Sigh... try to fix this before landing :(. |
+ base::ThreadRestrictions::ScopedAllowIO allow_io; |
+ Shutdown(); |
Khushal
2016/09/13 04:47:23
I think you're fine doing this. The content code a
David Trainor- moved to gerrit
2016/09/13 06:18:04
Acknowledged.
|
+ } |
private: |
DISALLOW_COPY_AND_ASSIGN(BlimpTaskGraphRunner); |
@@ -40,8 +47,13 @@ BlimpCompositorDependencies::BlimpCompositorDependencies( |
} |
BlimpCompositorDependencies::~BlimpCompositorDependencies() { |
- if (compositor_impl_thread_) |
+ if (compositor_impl_thread_) { |
+ // PlatformThread::Join() ends up relying on IO. Temporarily allow this |
+ // during shutdown. |
+ // TODO(me): Sigh... try to fix this before landing :(. |
+ base::ThreadRestrictions::ScopedAllowIO allow_io; |
compositor_impl_thread_->Stop(); |
+ } |
} |
CompositorDependencies* BlimpCompositorDependencies::GetEmbedderDependencies() { |