src: restore ability to run under NAPI_EXPERIMENTAL #1409
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Since we made the default for Node.js core finalizers synchronous for users running with
NAPI_EXPERIMENTAL
and introducedenv->CheckGCAccess()
in Node.js core, we must now defer all finalizers in node-addon-api, because our users likely make non-gc-safe Node-API calls from existing finalizers. To that end,NAPI_EXPERIMENTAL
should be on, and add it to the defines ifNAPI_VERSION
is set toNAPI_VERSION_EXPERIMENTAL
, i.e. 2147483647.NAPI_EXPERIMENTAL
,napi_cannot_run_js
instead ofnapi_exception_pending
.