GeezerVison is showing github.com — tracing: do not attempt to call into JS when disallowed · nodejs/node@4e5271a
File tree
Expand file treeCollapse file tree
Open diff view settings
Expand file treeCollapse file tree
Open diff view settings
Collapse file
Copy file name to clipboardExpand all lines: src/env.cc +2-3Lines changed: 2 additions & 3 deletions | Original file line number | Diff line number | Diff line change |
|---|
@@ -207,7 +207,7 @@ void InitThreadLocalOnce() { |
207 | 207 | } |
208 | 208 |
|
209 | 209 | void TrackingTraceStateObserver::UpdateTraceCategoryState() { |
210 | | - if (!env_->owns_process_state()) { |
| 210 | + if (!env_->owns_process_state() || !env_->can_call_into_js()) { |
211 | 211 | // Ideally, we’d have a consistent story that treats all threads/Environment |
212 | 212 | // instances equally here. However, tracing is essentially global, and this |
213 | 213 | // callback is called from whichever thread calls `StartTracing()` or |
@@ -228,8 +228,7 @@ void TrackingTraceStateObserver::UpdateTraceCategoryState() { |
228 | 228 | TryCatchScope try_catch(env_); |
229 | 229 | try_catch.SetVerbose(true); |
230 | 230 | 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)); |
233 | 232 | } |
234 | 233 |
|
235 | 234 | static std::atomic<uint64_t> next_thread_id{0}; |
|