From 1e3d0d253f349f462bc75a7e42bca431b9f3919c Mon Sep 17 00:00:00 2001 From: Anna Henningsen Date: Thu, 10 Aug 2017 16:56:04 +0200 Subject: [PATCH] src: add comments for cares library init refcount Ref: https://github.com/nodejs/node/pull/14738 --- src/cares_wrap.cc | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/cares_wrap.cc b/src/cares_wrap.cc index 53a005444cc498..7869651a456c0a 100644 --- a/src/cares_wrap.cc +++ b/src/cares_wrap.cc @@ -489,6 +489,8 @@ void ChannelWrap::Setup() { int r; if (!library_inited_) { + // Multiple calls to ares_library_init() increase a reference counter, + // so this is a no-op except for the first call to it. r = ares_library_init(ARES_LIB_INIT_ALL); if (r != ARES_SUCCESS) return env()->ThrowError(ToErrorCodeString(r)); @@ -516,8 +518,10 @@ void ChannelWrap::Setup() { ChannelWrap::~ChannelWrap() { - if (library_inited_) + if (library_inited_) { + // This decreases the reference counter increased by ares_library_init(). ares_library_cleanup(); + } ares_destroy(channel_); CleanupTimer();