diff options
Diffstat (limited to 'lib/internal/process/stdio.js')
-rw-r--r-- | lib/internal/process/stdio.js | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/internal/process/stdio.js b/lib/internal/process/stdio.js index eaba4dfca1..76e6ab8514 100644 --- a/lib/internal/process/stdio.js +++ b/lib/internal/process/stdio.js @@ -6,6 +6,7 @@ const { ERR_UNKNOWN_STDIN_TYPE, ERR_UNKNOWN_STREAM_TYPE } = require('internal/errors').codes; +const { isMainThread } = require('internal/worker'); exports.setup = setupStdio; @@ -16,6 +17,8 @@ function setupStdio() { function getStdout() { if (stdout) return stdout; + if (!isMainThread) + return new (require('stream').Writable)({ write(b, e, cb) { cb(); } }); stdout = createWritableStdioStream(1); stdout.destroySoon = stdout.destroy; stdout._destroy = function(er, cb) { @@ -31,6 +34,8 @@ function setupStdio() { function getStderr() { if (stderr) return stderr; + if (!isMainThread) + return new (require('stream').Writable)({ write(b, e, cb) { cb(); } }); stderr = createWritableStdioStream(2); stderr.destroySoon = stderr.destroy; stderr._destroy = function(er, cb) { @@ -46,6 +51,8 @@ function setupStdio() { function getStdin() { if (stdin) return stdin; + if (!isMainThread) + return new (require('stream').Readable)({ read() { this.push(null); } }); const tty_wrap = process.binding('tty_wrap'); const fd = 0; |