From 4cc69f9470b752292ea50990745d6fd101e40218 Mon Sep 17 00:00:00 2001 From: Shelley Vohr Date: Fri, 7 Mar 2025 11:15:49 +0100 Subject: [PATCH] src: allow embedder customization of OOMErrorHandler PR-URL: https://github.com/nodejs/node/pull/57325 Reviewed-By: Chengzhong Wu Reviewed-By: Joyee Cheung Reviewed-By: James M Snell Reviewed-By: Yagiz Nizipli Reviewed-By: Jake Yuesong Li --- src/api/environment.cc | 5 ++++- src/node.h | 1 + 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/src/api/environment.cc b/src/api/environment.cc index 2641ea7d7f8..1e7ed233aae 100644 --- a/src/api/environment.cc +++ b/src/api/environment.cc @@ -233,7 +233,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 06304fbdda9..d0163523f08 100644 --- a/src/node.h +++ b/src/node.h @@ -479,6 +479,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