summaryrefslogtreecommitdiff
path: root/src/node_perf.cc
diff options
context:
space:
mode:
authorAnna Henningsen <anna@addaleax.net>2017-11-04 22:25:18 +0100
committerRefael Ackermann <refack@gmail.com>2017-11-11 11:50:18 -0500
commit941c65bba28ed22c09cb262d04512fc7fecab189 (patch)
treed8d5ef54f5d5b1428fe416e8075979c82185ea67 /src/node_perf.cc
parentff21851816f8512a1488265a878140d8aa67683a (diff)
downloadnode-new-941c65bba28ed22c09cb262d04512fc7fecab189.tar.gz
src: use unrefed async for GC tracking
Do not let an internal handle keep the event loop alive. PR-URL: https://github.com/nodejs/node/pull/16758 Fixes: https://github.com/node/issues/16210 Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Diffstat (limited to 'src/node_perf.cc')
-rw-r--r--src/node_perf.cc1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/node_perf.cc b/src/node_perf.cc
index f5aafbab63..155f1e66e4 100644
--- a/src/node_perf.cc
+++ b/src/node_perf.cc
@@ -215,6 +215,7 @@ void MarkGarbageCollectionEnd(Isolate* isolate,
uv_async_t* async = new uv_async_t(); // coverity[leaked_storage]
if (uv_async_init(env->event_loop(), async, PerformanceGCCallback))
return delete async;
+ uv_unref(reinterpret_cast<uv_handle_t*>(async));
async->data =
new PerformanceEntry::Data(env, "gc", "gc",
performance_last_gc_start_mark_,