18 lines
617 B
JavaScript
18 lines
617 B
JavaScript
'use strict';
|
|
const common = require('../../common');
|
|
const path = require('path');
|
|
const assert = require('assert');
|
|
const { Worker } = require('worker_threads');
|
|
const binding = path.resolve(__dirname, `./build/${common.buildType}/binding`);
|
|
const { getFreeCallCount } = require(binding);
|
|
|
|
// Test that buffers allocated with a free callback through our APIs are
|
|
// released when a Worker owning it exits.
|
|
|
|
const w = new Worker(`require(${JSON.stringify(binding)})`, { eval: true });
|
|
|
|
assert.strictEqual(getFreeCallCount(), 0);
|
|
w.on('exit', common.mustCall(() => {
|
|
assert.strictEqual(getFreeCallCount(), 1);
|
|
}));
|