mirror of
https://github.com/zebrajr/node.git
synced 2025-12-06 12:20:27 +01:00
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)));
|