Skip to content

Commit 8939f36

Browse files
TimothyGuaddaleax
authored andcommitted
src: add Env::profiler_idle_notifier_started()
Refs: ayojs/ayo#93 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Stephen Belanger <admin@stephenbelanger.com> PR-URL: nodejs#20876 Reviewed-By: Gireesh Punathil <gpunathi@in.ibm.com> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com> Reviewed-By: Shingo Inoue <leko.noor@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com> Reviewed-By: John-David Dalton <john.david.dalton@gmail.com> Reviewed-By: Gus Caplan <me@gus.host>
1 parent 19dae6b commit 8939f36

File tree

3 files changed

+12
-0
lines changed

3 files changed

+12
-0
lines changed

src/env-inl.h

+4
Original file line numberDiff line numberDiff line change
@@ -322,6 +322,10 @@ inline Environment* Environment::GetThreadLocalEnv() {
322322
return static_cast<Environment*>(uv_key_get(&thread_local_env));
323323
}
324324

325+
inline bool Environment::profiler_idle_notifier_started() const {
326+
return profiler_idle_notifier_started_;
327+
}
328+
325329
inline v8::Isolate* Environment::isolate() const {
326330
return isolate_;
327331
}

src/env.cc

+6
Original file line numberDiff line numberDiff line change
@@ -263,6 +263,11 @@ void Environment::CleanupHandles() {
263263
}
264264

265265
void Environment::StartProfilerIdleNotifier() {
266+
if (profiler_idle_notifier_started_)
267+
return;
268+
269+
profiler_idle_notifier_started_ = true;
270+
266271
uv_prepare_start(&idle_prepare_handle_, [](uv_prepare_t* handle) {
267272
Environment* env = ContainerOf(&Environment::idle_prepare_handle_, handle);
268273
env->isolate()->SetIdle(true);
@@ -275,6 +280,7 @@ void Environment::StartProfilerIdleNotifier() {
275280
}
276281

277282
void Environment::StopProfilerIdleNotifier() {
283+
profiler_idle_notifier_started_ = false;
278284
uv_prepare_stop(&idle_prepare_handle_);
279285
uv_check_stop(&idle_check_handle_);
280286
}

src/env.h

+2
Original file line numberDiff line numberDiff line change
@@ -615,6 +615,7 @@ class Environment {
615615

616616
void StartProfilerIdleNotifier();
617617
void StopProfilerIdleNotifier();
618+
inline bool profiler_idle_notifier_started() const;
618619

619620
inline v8::Isolate* isolate() const;
620621
inline tracing::Agent* tracing_agent() const;
@@ -840,6 +841,7 @@ class Environment {
840841
uv_idle_t immediate_idle_handle_;
841842
uv_prepare_t idle_prepare_handle_;
842843
uv_check_t idle_check_handle_;
844+
bool profiler_idle_notifier_started_ = false;
843845

844846
AsyncHooks async_hooks_;
845847
ImmediateInfo immediate_info_;

0 commit comments

Comments
 (0)