Revert "tty: make _read throw ERR_TTY_WRITABLE_NOT_READABLE"

This reverts commit 91eec00ca2.

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>
pull/23178/merge
Anna Henningsen 2018-09-24 11:15:37 +02:00
parent 17a0cd2bab
commit c7405fe9cb
No known key found for this signature in database
GPG Key ID: 9C63F3A6CD2AD8F9
5 changed files with 8 additions and 38 deletions

View File

@ -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.
<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>
### 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
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
[`'uncaughtException'`]: process.html#process_event_uncaughtexception
[`child_process`]: child_process.html

View File

@ -844,9 +844,6 @@ E('ERR_TRANSFORM_ALREADY_TRANSFORMING',
E('ERR_TRANSFORM_WITH_LENGTH_0',
'Calling transform done when writableState.length != 0', Error);
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',
'`process.setupUncaughtExceptionCapture()` was called while a capture ' +
'callback was already active',

View File

@ -25,11 +25,7 @@ const { inherits, _extend } = require('util');
const net = require('net');
const { TTY, isTTY } = internalBinding('tty_wrap');
const errors = require('internal/errors');
const {
ERR_INVALID_FD,
ERR_TTY_INIT_FAILED,
ERR_TTY_WRITABLE_NOT_READABLE
} = errors.codes;
const { ERR_INVALID_FD, ERR_TTY_INIT_FAILED } = errors.codes;
const { getColorDepth } = require('internal/tty');
// 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
WriteStream.prototype.cursorTo = function(x, y) {
if (readline === undefined) readline = require('readline');

View File

@ -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'
}));