From 7b4e6d4772e635670d70433b93f719ab31783598 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: 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(+) (limited to 'doc/api') diff --git a/doc/api/addons.md b/doc/api/addons.md index 233fb332f49..78814a97bba 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 -- cgit v1.2.3