src: allow embedder customization of OOMErrorHandler

PR-URL: https://github.com/nodejs/node/pull/57325
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Reviewed-By: Joyee Cheung <joyeec9h3@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Jake Yuesong Li <jake.yuesong@gmail.com>
This commit is contained in:
Shelley Vohr 2025-03-07 11:15:49 +01:00 committed by Marco Ippolito
parent c0252cd380
commit 234a505e96
No known key found for this signature in database
GPG Key ID: 27F5E38D5B0A215F
2 changed files with 5 additions and 1 deletions

View File

@ -230,7 +230,10 @@ void SetIsolateErrorHandlers(v8::Isolate* isolate, const IsolateSettings& s) {
auto* fatal_error_cb = s.fatal_error_callback ?
s.fatal_error_callback : OnFatalError;
isolate->SetFatalErrorHandler(fatal_error_cb);
isolate->SetOOMErrorHandler(OOMErrorHandler);
auto* oom_error_cb =
s.oom_error_callback ? s.oom_error_callback : OOMErrorHandler;
isolate->SetOOMErrorHandler(oom_error_cb);
if ((s.flags & SHOULD_NOT_SET_PREPARE_STACK_TRACE_CALLBACK) == 0) {
auto* prepare_stack_trace_cb = s.prepare_stack_trace_callback ?

View File

@ -483,6 +483,7 @@ struct IsolateSettings {
v8::Isolate::AbortOnUncaughtExceptionCallback
should_abort_on_uncaught_exception_callback = nullptr;
v8::FatalErrorCallback fatal_error_callback = nullptr;
v8::OOMErrorCallback oom_error_callback = nullptr;
v8::PrepareStackTraceCallback prepare_stack_trace_callback = nullptr;
// Miscellaneous callbacks