Revert "tty: make _read throw ERR_TTY_WRITABLE_NOT_READABLE"
This reverts commit 91eec00ca20a54b1dc010cfc2fb34bc2f39eab6b. Refs: https://github.com/nodejs/node/pull/21654 Refs: https://github.com/nodejs/node/issues/21203 PR-URL: https://github.com/nodejs/node/pull/23053 Reviewed-By: James M Snell <jasnell@gmail.com>
This commit is contained in:
parent
17a0cd2bab
commit
c7405fe9cb
@ -1708,12 +1708,6 @@ A `Transform` stream finished with data still in the write buffer.
|
|||||||
|
|
||||||
The initialization of a TTY failed due to a system error.
|
The initialization of a TTY failed due to a system error.
|
||||||
|
|
||||||
<a id="ERR_TTY_WRITABLE_NOT_READABLE"></a>
|
|
||||||
### ERR_TTY_WRITABLE_NOT_READABLE
|
|
||||||
|
|
||||||
This `Error` is thrown when a read is attempted on a TTY `WriteStream`,
|
|
||||||
such as `process.stdout.on('data')`.
|
|
||||||
|
|
||||||
<a id="ERR_UNCAUGHT_EXCEPTION_CAPTURE_ALREADY_SET"></a>
|
<a id="ERR_UNCAUGHT_EXCEPTION_CAPTURE_ALREADY_SET"></a>
|
||||||
### ERR_UNCAUGHT_EXCEPTION_CAPTURE_ALREADY_SET
|
### ERR_UNCAUGHT_EXCEPTION_CAPTURE_ALREADY_SET
|
||||||
|
|
||||||
@ -2068,6 +2062,13 @@ instance.setEncoding('utf8');
|
|||||||
An attempt has been made to create a string larger than the maximum allowed
|
An attempt has been made to create a string larger than the maximum allowed
|
||||||
size.
|
size.
|
||||||
|
|
||||||
|
<a id="ERR_TTY_WRITABLE_NOT_READABLE"></a>
|
||||||
|
#### ERR_TTY_WRITABLE_NOT_READABLE
|
||||||
|
|
||||||
|
This `Error` is thrown when a read is attempted on a TTY `WriteStream`,
|
||||||
|
such as `process.stdout.on('data')`.
|
||||||
|
|
||||||
|
|
||||||
[`--force-fips`]: cli.html#cli_force_fips
|
[`--force-fips`]: cli.html#cli_force_fips
|
||||||
[`'uncaughtException'`]: process.html#process_event_uncaughtexception
|
[`'uncaughtException'`]: process.html#process_event_uncaughtexception
|
||||||
[`child_process`]: child_process.html
|
[`child_process`]: child_process.html
|
||||||
|
@ -844,9 +844,6 @@ E('ERR_TRANSFORM_ALREADY_TRANSFORMING',
|
|||||||
E('ERR_TRANSFORM_WITH_LENGTH_0',
|
E('ERR_TRANSFORM_WITH_LENGTH_0',
|
||||||
'Calling transform done when writableState.length != 0', Error);
|
'Calling transform done when writableState.length != 0', Error);
|
||||||
E('ERR_TTY_INIT_FAILED', 'TTY initialization failed', SystemError);
|
E('ERR_TTY_INIT_FAILED', 'TTY initialization failed', SystemError);
|
||||||
E('ERR_TTY_WRITABLE_NOT_READABLE',
|
|
||||||
'The Writable side of a TTY is not Readable',
|
|
||||||
Error);
|
|
||||||
E('ERR_UNCAUGHT_EXCEPTION_CAPTURE_ALREADY_SET',
|
E('ERR_UNCAUGHT_EXCEPTION_CAPTURE_ALREADY_SET',
|
||||||
'`process.setupUncaughtExceptionCapture()` was called while a capture ' +
|
'`process.setupUncaughtExceptionCapture()` was called while a capture ' +
|
||||||
'callback was already active',
|
'callback was already active',
|
||||||
|
13
lib/tty.js
13
lib/tty.js
@ -25,11 +25,7 @@ const { inherits, _extend } = require('util');
|
|||||||
const net = require('net');
|
const net = require('net');
|
||||||
const { TTY, isTTY } = internalBinding('tty_wrap');
|
const { TTY, isTTY } = internalBinding('tty_wrap');
|
||||||
const errors = require('internal/errors');
|
const errors = require('internal/errors');
|
||||||
const {
|
const { ERR_INVALID_FD, ERR_TTY_INIT_FAILED } = errors.codes;
|
||||||
ERR_INVALID_FD,
|
|
||||||
ERR_TTY_INIT_FAILED,
|
|
||||||
ERR_TTY_WRITABLE_NOT_READABLE
|
|
||||||
} = errors.codes;
|
|
||||||
const { getColorDepth } = require('internal/tty');
|
const { getColorDepth } = require('internal/tty');
|
||||||
|
|
||||||
// Lazy loaded for startup performance.
|
// Lazy loaded for startup performance.
|
||||||
@ -131,13 +127,6 @@ WriteStream.prototype._refreshSize = function() {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
// A WriteStream is not readable from, so _read become a no-op.
|
|
||||||
// this method could still be called because net.Socket()
|
|
||||||
// is a duplex
|
|
||||||
WriteStream.prototype._read = function() {
|
|
||||||
this.destroy(new ERR_TTY_WRITABLE_NOT_READABLE());
|
|
||||||
};
|
|
||||||
|
|
||||||
// Backwards-compat
|
// Backwards-compat
|
||||||
WriteStream.prototype.cursorTo = function(x, y) {
|
WriteStream.prototype.cursorTo = function(x, y) {
|
||||||
if (readline === undefined) readline = require('readline');
|
if (readline === undefined) readline = require('readline');
|
||||||
|
@ -1,17 +0,0 @@
|
|||||||
'use strict';
|
|
||||||
|
|
||||||
const common = require('../common');
|
|
||||||
const { WriteStream } = require('tty');
|
|
||||||
const fd = common.getTTYfd();
|
|
||||||
|
|
||||||
// Calling resume on a tty.WriteStream should be a no-op
|
|
||||||
// Ref: https://github.com/nodejs/node/issues/21203
|
|
||||||
|
|
||||||
const stream = new WriteStream(fd);
|
|
||||||
stream.resume();
|
|
||||||
|
|
||||||
stream.on('error', common.expectsError({
|
|
||||||
code: 'ERR_TTY_WRITABLE_NOT_READABLE',
|
|
||||||
type: Error,
|
|
||||||
message: 'The Writable side of a TTY is not Readable'
|
|
||||||
}));
|
|
Loading…
x
Reference in New Issue
Block a user