Skip to content

Commit 18e8687

Browse files
codebytereaddaleax
authored andcommitted
src: allow preventing SetPromiseRejectCallback
PR-URL: #34387 Reviewed-By: Gus Caplan <[email protected]> Reviewed-By: Anna Henningsen <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Tobias Nießen <[email protected]>
1 parent de174cd commit 18e8687

File tree

2 files changed

+7
-4
lines changed

2 files changed

+7
-4
lines changed

src/api/environment.cc

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -245,9 +245,11 @@ void SetIsolateMiscHandlers(v8::Isolate* isolate, const IsolateSettings& s) {
245245
s.allow_wasm_code_generation_callback : AllowWasmCodeGenerationCallback;
246246
isolate->SetAllowWasmCodeGenerationCallback(allow_wasm_codegen_cb);
247247

248-
auto* promise_reject_cb = s.promise_reject_callback ?
249-
s.promise_reject_callback : task_queue::PromiseRejectCallback;
250-
isolate->SetPromiseRejectCallback(promise_reject_cb);
248+
if ((s.flags & SHOULD_NOT_SET_PROMISE_REJECTION_CALLBACK) == 0) {
249+
auto* promise_reject_cb = s.promise_reject_callback ?
250+
s.promise_reject_callback : task_queue::PromiseRejectCallback;
251+
isolate->SetPromiseRejectCallback(promise_reject_cb);
252+
}
251253

252254
auto* host_cleanup_cb = s.host_cleanup_finalization_group_callback ?
253255
s.host_cleanup_finalization_group_callback :

src/node.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -301,7 +301,8 @@ class NODE_EXTERN MultiIsolatePlatform : public v8::Platform {
301301

302302
enum IsolateSettingsFlags {
303303
MESSAGE_LISTENER_WITH_ERROR_LEVEL = 1 << 0,
304-
DETAILED_SOURCE_POSITIONS_FOR_PROFILING = 1 << 1
304+
DETAILED_SOURCE_POSITIONS_FOR_PROFILING = 1 << 1,
305+
SHOULD_NOT_SET_PROMISE_REJECTION_CALLBACK = 1 << 2
305306
};
306307

307308
struct IsolateSettings {

0 commit comments

Comments
 (0)