Skip to content

Commit a7a5972

Browse files
committed
src: allow preventing SetPromiseRejectCallback
1 parent 1b6565b commit a7a5972

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
@@ -242,9 +242,11 @@ void SetIsolateMiscHandlers(v8::Isolate* isolate, const IsolateSettings& s) {
242242
s.allow_wasm_code_generation_callback : AllowWasmCodeGenerationCallback;
243243
isolate->SetAllowWasmCodeGenerationCallback(allow_wasm_codegen_cb);
244244

245-
auto* promise_reject_cb = s.promise_reject_callback ?
246-
s.promise_reject_callback : task_queue::PromiseRejectCallback;
247-
isolate->SetPromiseRejectCallback(promise_reject_cb);
245+
if ((s.flags & SHOULD_NOT_SET_PROMISE_REJECTION_CALLBACK) == 0) {
246+
auto* promise_reject_cb = s.promise_reject_callback ?
247+
s.promise_reject_callback : task_queue::PromiseRejectCallback;
248+
isolate->SetPromiseRejectCallback(promise_reject_cb);
249+
}
248250

249251
if (s.flags & DETAILED_SOURCE_POSITIONS_FOR_PROFILING)
250252
v8::CpuProfiler::UseDetailedSourcePositionsForProfiling(isolate);

src/node.h

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

329329
enum IsolateSettingsFlags {
330330
MESSAGE_LISTENER_WITH_ERROR_LEVEL = 1 << 0,
331-
DETAILED_SOURCE_POSITIONS_FOR_PROFILING = 1 << 1
331+
DETAILED_SOURCE_POSITIONS_FOR_PROFILING = 1 << 1,
332+
SHOULD_NOT_SET_PROMISE_REJECTION_CALLBACK = 1 << 2
332333
};
333334

334335
struct IsolateSettings {

0 commit comments

Comments
 (0)