Skip to content

stdio: cannot write to stdin after #1233 #9206

@bnoordhuis

Description

@bnoordhuis

Continuing from #9201 (comment). The change from #1233 makes it impossible to write to stdin, something that works in v0.10 and v0.12.

Test case:

var spawn = require('child_process').spawn;
var args = ['-e', 'process.stdin.write("ok\\n")'];
var proc = spawn(process.execPath, args, { stdio: ['pipe'] });
proc.stdin.pipe(process.stdout);

Trace:

$ strace -s1024 -fe write out/Release/node tmp/bug9201.js
...
[pid 25306] write(2, "events.js:160\n      throw er; // Unhandled 'error' event\n      ^\n\nError: write after end\n    at writeAfterEnd (_stream_writable.js:192:12)\n    at Socket.Writable.write (_stream_writable.js:243:5)\n    at Socket.write (net.js:661:40)\n    at [eval]:1:15\n    at ContextifyScript.Script.runInThisContext (vm.js:25:33)\n    at Object.exports.runInThisContext (vm.js:77:17)\n    at Object.<anonymous> ([eval]-wrapper:6:22)\n    at Module._compile (module.js:582:32)\n    at bootstrap_node.js:345:29\n    at _combinedTickCallback (internal/process/next_tick.js:67:7)\n", 554) = 554
...

cc @indutny

Metadata

Metadata

Assignees

No one assigned

    Labels

    help wantedIssues that need assistance from volunteers or PRs that need help to proceed.processIssues and PRs related to the process subsystem.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions