From c3c5141f68393ff357733820c7ff37eeae3abd73 Mon Sep 17 00:00:00 2001 From: Daniel Bevenius Date: Thu, 6 Sep 2018 10:39:38 +0200 Subject: [PATCH] src: remove abort_on_uncaught_exception node.cc This commit removes the static variable abort_on_uncaught_exception and adds it to the environment options. PR-URL: https://github.com/nodejs/node/pull/22724 Reviewed-By: Anna Henningsen Reviewed-By: James M Snell --- src/env-inl.h | 4 ++-- src/node.cc | 7 +------ src/node_options.h | 1 + 3 files changed, 4 insertions(+), 8 deletions(-) diff --git a/src/env-inl.h b/src/env-inl.h index afca7a80ce0339..946642b929c16f 100644 --- a/src/env-inl.h +++ b/src/env-inl.h @@ -420,11 +420,11 @@ inline void Environment::set_trace_sync_io(bool value) { } inline bool Environment::abort_on_uncaught_exception() const { - return abort_on_uncaught_exception_; + return options_->abort_on_uncaught_exception; } inline void Environment::set_abort_on_uncaught_exception(bool value) { - abort_on_uncaught_exception_ = value; + options_->abort_on_uncaught_exception = value; } inline AliasedBuffer& diff --git a/src/node.cc b/src/node.cc index 51e97e0b8efadb..d3501c151b685d 100644 --- a/src/node.cc +++ b/src/node.cc @@ -183,9 +183,6 @@ static node_module* modlist_internal; static node_module* modlist_linked; static node_module* modlist_addon; -// TODO(addaleax): This should not be global. -static bool abort_on_uncaught_exception = false; - // Bit flag used to track security reverts (see node_revert.h) unsigned int reverted = 0; @@ -2669,7 +2666,7 @@ void ProcessArgv(std::vector* args, "--abort-on-uncaught-exception") != v8_args.end() || std::find(v8_args.begin(), v8_args.end(), "--abort_on_uncaught_exception") != v8_args.end()) { - abort_on_uncaught_exception = true; + env_opts->abort_on_uncaught_exception = true; } // TODO(bnoordhuis) Intercept --prof arguments and start the CPU profiler @@ -3044,8 +3041,6 @@ inline int Start(Isolate* isolate, IsolateData* isolate_data, return 12; // Signal internal error. } - env.set_abort_on_uncaught_exception(abort_on_uncaught_exception); - // TODO(addaleax): Maybe access this option directly instead of setting // a boolean member of Environment. Ditto below for trace_sync_io. if (env.options()->no_force_async_hooks_checks) { diff --git a/src/node_options.h b/src/node_options.h index 7891d550ae3dad..71615cf0839aa4 100644 --- a/src/node_options.h +++ b/src/node_options.h @@ -60,6 +60,7 @@ class DebugOptions { class EnvironmentOptions { public: std::shared_ptr debug_options { new DebugOptions() }; + bool abort_on_uncaught_exception = false; bool experimental_modules = false; bool experimental_repl_await = false; bool experimental_vm_modules = false;