From 234a505e964e17587d9d8c26d4de0a6601092dad 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 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