Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2773)

Unified Diff: content/renderer/render_thread_impl.cc

Issue 675423002: ServiceWorker: Fix data race in shutdown sequence (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: add comment Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/renderer/render_thread_impl.cc
diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc
index 7677ac58692a1cea119687e28f778c2ee8484364..572bd5862abc56c2ab8b4a6a7ccdfe35ce91af77 100644
--- a/content/renderer/render_thread_impl.cc
+++ b/content/renderer/render_thread_impl.cc
@@ -649,11 +649,6 @@ void RenderThreadImpl::Shutdown() {
input_event_filter_ = NULL;
}
- // RemoveEmbeddedWorkerRoute may be called while deleting
- // EmbeddedWorkerDispatcher. So it must be deleted before deleting
- // RenderThreadImpl.
- embedded_worker_dispatcher_.reset();
-
// Ramp down IDB before we ramp down WebKit (and V8), since IDB classes might
// hold pointers to V8 objects (e.g., via pending requests).
main_thread_indexed_db_dispatcher_.reset();
@@ -663,6 +658,12 @@ void RenderThreadImpl::Shutdown() {
if (blink_platform_impl_)
blink::shutdown();
+ // RemoveEmbeddedWorkerRoute may be called while deleting
+ // EmbeddedWorkerDispatcher. So it must be deleted before deleting
+ // RenderThreadImpl. Also, it must be after all workers are terminated, since
+ // this frees up resources used by worker threads.
+ embedded_worker_dispatcher_.reset();
jamesr 2014/10/28 04:41:24 will all workers be deleted and removed from embed
Kunihiko Sakamoto 2014/10/28 06:41:16 Unfortunately workers_ is not guaranteed to be emp
+
lazy_tls.Pointer()->Set(NULL);
// TODO(port)
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698