mirror of
https://github.com/nodejs/node.git
synced 2025-05-03 09:52:21 +00:00

Call the callback for writes that occur after the stream is closed. This also requires changes to the code to not call `.destroy()` on the stream in `.on('end')`, and to ignore chunks written afterwards. Previously, these writes would just queue up silently, as their `_write()` callback would never have been called. Fixes: https://github.com/nodejs/node/issues/30976 PR-URL: https://github.com/nodejs/node/pull/31082 Reviewed-By: Denys Otrishko <shishugi@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
17 lines
521 B
JavaScript
17 lines
521 B
JavaScript
'use strict';
|
|
const common = require('../common');
|
|
const zlib = require('zlib');
|
|
|
|
// Regression test for https://github.com/nodejs/node/issues/30976
|
|
// Writes to a stream should finish even after the readable side has been ended.
|
|
|
|
const data = zlib.deflateRawSync('Welcome');
|
|
|
|
const inflate = zlib.createInflateRaw();
|
|
|
|
inflate.resume();
|
|
inflate.write(data, common.mustCall());
|
|
inflate.write(Buffer.from([0x00]), common.mustCall());
|
|
inflate.write(Buffer.from([0x00]), common.mustCall());
|
|
inflate.flush(common.mustCall());
|