Skip to content

Commit ba71fe8

Browse files
apapirovskiMylesBorins
authored andcommitted
timers: check can_call_into_js in Immediates
Prevent an infinite loop if it's not possible to call into JS. PR-URL: #21057 Reviewed-By: Anna Henningsen <[email protected]> Reviewed-By: James M Snell <[email protected]> Reviewed-By: Jeremiah Senkpiel <[email protected]>
1 parent 1e607d0 commit ba71fe8

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

src/env.cc

+4-1
Original file line numberDiff line numberDiff line change
@@ -457,14 +457,17 @@ void Environment::CheckImmediate(uv_check_t* handle) {
457457

458458
env->RunAndClearNativeImmediates();
459459

460+
if (!env->can_call_into_js())
461+
return;
462+
460463
do {
461464
MakeCallback(env->isolate(),
462465
env->process_object(),
463466
env->immediate_callback_function(),
464467
0,
465468
nullptr,
466469
{0, 0}).ToLocalChecked();
467-
} while (env->immediate_info()->has_outstanding());
470+
} while (env->immediate_info()->has_outstanding() && env->can_call_into_js());
468471

469472
if (env->immediate_info()->ref_count() == 0)
470473
env->ToggleImmediateRef(false);

0 commit comments

Comments
 (0)