lib, src: use process.config instead of regex
Is safer to use a `process.binding(config)` defined boolean, than to regex on `process.execArgv`. Also, this better falls in line with the conventions of checking flags passed to the executable. PR-URL: https://github.com/nodejs/node/pull/17814 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
This commit is contained in:
parent
210c761d83
commit
1dd9c826e0
@ -75,9 +75,6 @@ const emitDestroyNative = emitHookFactory(destroy_symbol, 'emitDestroyNative');
|
|||||||
const emitPromiseResolveNative =
|
const emitPromiseResolveNative =
|
||||||
emitHookFactory(promise_resolve_symbol, 'emitPromiseResolveNative');
|
emitHookFactory(promise_resolve_symbol, 'emitPromiseResolveNative');
|
||||||
|
|
||||||
// TODO(refack): move to node-config.cc
|
|
||||||
const abort_regex = /^--abort[_-]on[_-]uncaught[_-]exception$/;
|
|
||||||
|
|
||||||
// Setup the callbacks that node::AsyncWrap will call when there are hooks to
|
// Setup the callbacks that node::AsyncWrap will call when there are hooks to
|
||||||
// process. They use the same functions as the JS embedder API. These callbacks
|
// process. They use the same functions as the JS embedder API. These callbacks
|
||||||
// are setup immediately to prevent async_wrap.setupHooks() from being hijacked
|
// are setup immediately to prevent async_wrap.setupHooks() from being hijacked
|
||||||
@ -97,7 +94,7 @@ function fatalError(e) {
|
|||||||
Error.captureStackTrace(o, fatalError);
|
Error.captureStackTrace(o, fatalError);
|
||||||
process._rawDebug(o.stack);
|
process._rawDebug(o.stack);
|
||||||
}
|
}
|
||||||
if (process.execArgv.some((e) => abort_regex.test(e))) {
|
if (process.binding('config').shouldAbortOnUncaughtException) {
|
||||||
process.abort();
|
process.abort();
|
||||||
}
|
}
|
||||||
process.exit(1);
|
process.exit(1);
|
||||||
|
@ -88,6 +88,9 @@ static void InitConfig(Local<Object> target,
|
|||||||
if (config_expose_internals)
|
if (config_expose_internals)
|
||||||
READONLY_BOOLEAN_PROPERTY("exposeInternals");
|
READONLY_BOOLEAN_PROPERTY("exposeInternals");
|
||||||
|
|
||||||
|
if (env->abort_on_uncaught_exception())
|
||||||
|
READONLY_BOOLEAN_PROPERTY("shouldAbortOnUncaughtException");
|
||||||
|
|
||||||
READONLY_PROPERTY(target,
|
READONLY_PROPERTY(target,
|
||||||
"bits",
|
"bits",
|
||||||
Number::New(env->isolate(), 8 * sizeof(intptr_t)));
|
Number::New(env->isolate(), 8 * sizeof(intptr_t)));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user