mirror of
https://github.com/nodejs/node.git
synced 2025-05-06 16:46:56 +00:00

Adds destroy() and _destroy() methods to Readable, Writable, Duplex and Transform. It also standardizes the behavior and the implementation of destroy(), which has been inconsistent in userland and core. This PR also updates all the subsystems of core to use the new destroy(). PR-URL: https://github.com/nodejs/node/pull/12925 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Calvin Metcalf <calvin.metcalf@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
27 lines
791 B
JavaScript
27 lines
791 B
JavaScript
'use strict';
|
|
// Refs: https://github.com/nodejs/node/issues/947
|
|
const common = require('../common');
|
|
const assert = require('assert');
|
|
const cp = require('child_process');
|
|
|
|
if (process.argv[2] === 'child') {
|
|
process.on('message', common.mustCall((msg) => {
|
|
assert.strictEqual(msg, 'go');
|
|
// the following console.log is an integral part
|
|
// of the test. If this regress, this call will
|
|
// cause the process to exit with 1
|
|
console.log('logging should not cause a crash');
|
|
process.disconnect();
|
|
}));
|
|
} else {
|
|
const child = cp.fork(__filename, ['child'], {silent: true});
|
|
|
|
child.on('close', common.mustCall((exitCode, signal) => {
|
|
assert.strictEqual(exitCode, 0);
|
|
assert.strictEqual(signal, null);
|
|
}));
|
|
|
|
child.stdout.destroy();
|
|
child.send('go');
|
|
}
|