mirror of
https://github.com/nodejs/node.git
synced 2025-05-10 17:57:53 +00:00

The finalizer normally never gets called while a reference is strong. However, during environment shutdown all finalizers must get called. In order to unify the deferring behavior with that of a regular finalization, we must force the reference to be weak when we call its finalizer during environment shutdown. Fixes: https://github.com/nodejs/node/issues/37236 Co-authored-by: Chengzhong Wu <legendecas@gmail.com> PR-URL: https://github.com/nodejs/node/pull/37303 Reviewed-By: Chengzhong Wu <legendecas@gmail.com> Reviewed-By: Michael Dawson <midawson@redhat.com>
12 lines
300 B
JavaScript
12 lines
300 B
JavaScript
'use strict';
|
|
|
|
// This test makes no assertions. It tests a fix without which it will crash
|
|
// with a double free.
|
|
|
|
const { buildType } = require('../../common');
|
|
|
|
const addon = require(`./build/${buildType}/test_reference_double_free`);
|
|
|
|
{ new addon.MyObject(true); }
|
|
{ new addon.MyObject(false); }
|