Destroy JS env immediately after running destruction callbacks
authorCheng Zhao <zcbenz@gmail.com>
Wed, 4 Nov 2015 09:31:10 +0000 (17:31 +0800)
committerCheng Zhao <zcbenz@gmail.com>
Wed, 4 Nov 2015 09:31:10 +0000 (17:31 +0800)
atom/browser/atom_browser_main_parts.cc

index f6d1070..041c9bf 100644 (file)
@@ -137,6 +137,14 @@ void AtomBrowserMainParts::PostMainMessageLoopRun() {
   // won't be freed.
   for (const auto& callback : destruction_callbacks_)
     callback.Run();
+
+  // Destroy JavaScript environment immediately after running destruction
+  // callbacks.
+  gc_timer_.Stop();
+  node_debugger_.reset();
+  atom_bindings_.reset();
+  node_bindings_.reset();
+  js_env_.reset();
 }
 
 }  // namespace atom