From 81cb14bb589947e1e2e1de7459e549f7309734d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gerhard=20St=C3=B6bich?= <18708370+Flarna@users.noreply.github.com> Date: Fri, 10 Sep 2021 20:31:33 +0200 Subject: [PATCH] doc: clarify that ObjectWrap requires manual cleanup on shutdown Clarify that ObjectWrap instances are not destroyed on process or worker shutdown and require manual destruction to avoid resource leaks. PR-URL: https://github.com/nodejs/node/pull/40074 Fixes: https://github.com/nodejs/node/issues/38816 Reviewed-By: Luigi Pinca Reviewed-By: James M Snell --- doc/api/addons.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/doc/api/addons.md b/doc/api/addons.md index b17e86febee671..c2cdee07ba27af 100644 --- a/doc/api/addons.md +++ b/doc/api/addons.md @@ -965,6 +965,10 @@ provided by the underlying V8 JavaScript engine. They are subject to change or removal at any time. They are not documented by Node.js or V8, and they should never be used outside of testing. +During shutdown of the process or worker threads destructors are not called +by the JS engine. Therefore it's the responsibility of the user to track +these objects and ensure proper destruction to avoid resource leaks. + ### Factory of wrapped objects Alternatively, it is possible to use a factory pattern to avoid explicitly