diff --git a/src/api/environment.cc b/src/api/environment.cc index 46106fa94b3..87f632cdd0e 100644 --- a/src/api/environment.cc +++ b/src/api/environment.cc @@ -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 ? diff --git a/src/node.h b/src/node.h index ec5f6d0d257..1a879cfb3ad 100644 --- a/src/node.h +++ b/src/node.h @@ -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