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

Unified Diff: Source/platform/WebThreadSupportingGC.cpp

Issue 1127123010: Remove the concept of a cleanup task (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Fix asan issues. Created 5 years, 7 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
Index: Source/platform/WebThreadSupportingGC.cpp
diff --git a/Source/platform/WebThreadSupportingGC.cpp b/Source/platform/WebThreadSupportingGC.cpp
index cac7795876ae25a36bad6e981ec72474b866e6eb..256552193e30ec08803eed7793b5c94dedfee127 100644
--- a/Source/platform/WebThreadSupportingGC.cpp
+++ b/Source/platform/WebThreadSupportingGC.cpp
@@ -6,6 +6,7 @@
#include "platform/WebThreadSupportingGC.h"
#include "platform/heap/SafePoint.h"
+#include "public/platform/WebScheduler.h"
#include "wtf/Threading.h"
namespace blink {
@@ -32,7 +33,7 @@ WebThreadSupportingGC::~WebThreadSupportingGC()
}
}
-void WebThreadSupportingGC::attachGC()
+void WebThreadSupportingGC::initialize()
{
m_pendingGCRunner = adoptPtr(new PendingGCRunner);
m_messageLoopInterruptor = adoptPtr(new MessageLoopInterruptor(&platformThread()));
@@ -41,13 +42,19 @@ void WebThreadSupportingGC::attachGC()
ThreadState::current()->addInterruptor(m_messageLoopInterruptor.get());
}
-void WebThreadSupportingGC::detachGC()
+void WebThreadSupportingGC::shutdown()
{
+ // Ensure no posted tasks will run from this point on.
+ platformThread().removeTaskObserver(m_pendingGCRunner.get());
+ platformThread().scheduler()->shutdown();
+
ThreadState::current()->removeInterruptor(m_messageLoopInterruptor.get());
ThreadState::detach();
- platformThread().removeTaskObserver(m_pendingGCRunner.get());
m_pendingGCRunner = nullptr;
m_messageLoopInterruptor = nullptr;
+
+ // Ensure no posted tasks will run from this point on.
+ platformThread().scheduler()->shutdown();
}
} // namespace blink

Powered by Google App Engine
This is Rietveld 408576698