Skip to content

Commit 4e5271a

Browse files
addaleaxtargos
authored andcommitted
tracing: do not attempt to call into JS when disallowed
PR-URL: #32548 Reviewed-By: Colin Ihrig <[email protected]> Reviewed-By: James M Snell <[email protected]>
1 parent f0a31e3 commit 4e5271a

File tree

1 file changed

+2
-3
lines changed

1 file changed

+2
-3
lines changed

src/env.cc

+2-3
Original file line numberDiff line numberDiff line change
@@ -207,7 +207,7 @@ void InitThreadLocalOnce() {
207207
}
208208

209209
void TrackingTraceStateObserver::UpdateTraceCategoryState() {
210-
if (!env_->owns_process_state()) {
210+
if (!env_->owns_process_state() || !env_->can_call_into_js()) {
211211
// Ideally, we’d have a consistent story that treats all threads/Environment
212212
// instances equally here. However, tracing is essentially global, and this
213213
// callback is called from whichever thread calls `StartTracing()` or
@@ -228,8 +228,7 @@ void TrackingTraceStateObserver::UpdateTraceCategoryState() {
228228
TryCatchScope try_catch(env_);
229229
try_catch.SetVerbose(true);
230230
Local<Value> args[] = {Boolean::New(isolate, async_hooks_enabled)};
231-
cb->Call(env_->context(), Undefined(isolate), arraysize(args), args)
232-
.ToLocalChecked();
231+
USE(cb->Call(env_->context(), Undefined(isolate), arraysize(args), args));
233232
}
234233

235234
static std::atomic<uint64_t> next_thread_id{0};

0 commit comments

Comments
 (0)