mirror of
https://github.com/nodejs/node.git
synced 2025-04-30 23:56:58 +00:00

WriteStream autoClose was implemented by manually calling .destroy() instead of using autoDestroy and callback. This caused some invariants related to order of events to be broken. Fixes: https://github.com/nodejs/node/issues/31776 PR-URL: https://github.com/nodejs/node/pull/31790 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
17 lines
447 B
JavaScript
17 lines
447 B
JavaScript
'use strict';
|
|
|
|
const common = require('../common');
|
|
const fs = require('fs');
|
|
const path = require('path');
|
|
const assert = require('assert');
|
|
const tmpdir = require('../common/tmpdir');
|
|
const writeFile = path.join(tmpdir.path, 'write-autoClose.txt');
|
|
tmpdir.refresh();
|
|
|
|
const file = fs.createWriteStream(writeFile, { autoClose: true });
|
|
|
|
file.on('finish', common.mustCall(() => {
|
|
assert.strictEqual(file.destroyed, false);
|
|
}));
|
|
file.end('asd');
|