Use tty.ReadStream and tty.WriteStream for stdio when appropriate

This commit is contained in:
Bert Belder 2011-01-17 23:28:54 +01:00 коммит произвёл Ryan Dahl
Родитель 87d898929f
Коммит 0b5bf70bff
2 изменённых файлов: 9 добавлений и 3 удалений

Просмотреть файл

@ -27,7 +27,7 @@ function Interface(output, completer) {
this.setPrompt('> ');
this.enabled = tty.isatty(output.fd);
this.enabled = output.isTTY;
if (parseInt(process.env['NODE_NO_READLINE'], 10)) {
this.enabled = false;

Просмотреть файл

@ -554,9 +554,12 @@
var binding = process.binding('stdio'),
net = NativeModule.require('net'),
fs = NativeModule.require('fs'),
tty = NativeModule.require('tty'),
fd = binding.stdoutFD;
if (binding.isStdoutBlocking()) {
if (binding.isatty(fd)) {
stdout = new tty.WriteStream(fd);
} else if (binding.isStdoutBlocking()) {
stdout = new fs.WriteStream(null, {fd: fd});
} else {
stdout = new net.Stream(fd);
@ -577,9 +580,12 @@
var binding = process.binding('stdio'),
net = NativeModule.require('net'),
fs = NativeModule.require('fs'),
tty = NativeModule.require('tty'),
fd = binding.openStdin();
if (binding.isStdinBlocking()) {
if (binding.isatty(fd)) {
stdin = new tty.ReadStream(fd);
} else if (binding.isStdinBlocking()) {
stdin = new fs.ReadStream(null, {fd: fd});
} else {
stdin = new net.Stream(fd);