diff options
-rw-r--r-- | src/node_perf.cc | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/node_perf.cc b/src/node_perf.cc index 45d66ad591..b3bbc16a3e 100644 --- a/src/node_perf.cc +++ b/src/node_perf.cc @@ -296,6 +296,11 @@ inline void SetupGarbageCollectionTracking(Environment* env) { static_cast<void*>(env)); env->isolate()->AddGCEpilogueCallback(MarkGarbageCollectionEnd, static_cast<void*>(env)); + env->AddCleanupHook([](void* data) { + Environment* env = static_cast<Environment*>(data); + env->isolate()->RemoveGCPrologueCallback(MarkGarbageCollectionStart, data); + env->isolate()->RemoveGCEpilogueCallback(MarkGarbageCollectionEnd, data); + }, env); } // Gets the name of a function |