summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/env-inl.h4
-rw-r--r--src/node.cc7
-rw-r--r--src/node_options.h1
3 files changed, 4 insertions, 8 deletions
diff --git a/src/env-inl.h b/src/env-inl.h
index 28c30e0354..2e0c4c5d1c 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<uint32_t, v8::Uint32Array>&
diff --git a/src/node.cc b/src/node.cc
index 89e4f76cac..0589608614 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;
@@ -2670,7 +2667,7 @@ void ProcessArgv(std::vector<std::string>* 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
@@ -3042,8 +3039,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 7891d550ae..71615cf083 100644
--- a/src/node_options.h
+++ b/src/node_options.h
@@ -60,6 +60,7 @@ class DebugOptions {
class EnvironmentOptions {
public:
std::shared_ptr<DebugOptions> debug_options { new DebugOptions() };
+ bool abort_on_uncaught_exception = false;
bool experimental_modules = false;
bool experimental_repl_await = false;
bool experimental_vm_modules = false;