mirror of
https://github.com/nodejs/node.git
synced 2024-11-21 10:59:27 +00:00
9c1b18a59f
It's not wholly clear what commit introduced the regression but between v8.4.0 and v8.5.0 the 'resize' event stopped getting emitted when the tty was resized. The SIGWINCH event listener apparently was being installed before the support code for `process.on('SIGWINCH', ...)` was. Fix that by moving said support code to real early in the bootstrap process. This commit also seems to fix a Windows-only "write EINVAL" error for reasons even less well-understood... Fixes: https://github.com/nodejs/node/issues/16141 Fixes: https://github.com/nodejs/node/issues/16194 PR-URL: https://github.com/nodejs/node/pull/16225 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Refael Ackermann <refack@gmail.com> Reviewed-By: Yuta Hiroto <hello@about-hiroppy.com>
12 lines
503 B
JavaScript
12 lines
503 B
JavaScript
'use strict';
|
|
const { mustCall } = require('../common');
|
|
const { notStrictEqual } = require('assert');
|
|
|
|
// tty.WriteStream#_refreshSize() only emits the 'resize' event when the
|
|
// window dimensions change. We cannot influence that from the script
|
|
// but we can set the old values to something exceedingly unlikely.
|
|
process.stdout.columns = 9001;
|
|
process.stdout.on('resize', mustCall());
|
|
process.kill(process.pid, 'SIGWINCH');
|
|
setImmediate(mustCall(() => notStrictEqual(process.stdout.columns, 9001)));
|