aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-12-02 00:25:30 -0800
committerGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-12-02 00:25:30 -0800
commite9eb88355b86edbb59f4c405f210142b3c1cf045 (patch)
treec99d845e8589c7ae8e732691e2259e6276d1b1d0
parent9f5564b4bc23d6958689431bfb8b5190eedfeedc (diff)
downloadbun-e9eb88355b86edbb59f4c405f210142b3c1cf045.tar.gz
bun-e9eb88355b86edbb59f4c405f210142b3c1cf045.tar.zst
bun-e9eb88355b86edbb59f4c405f210142b3c1cf045.zip
Close stdin earlier
-rw-r--r--src/bun.js/api/bun/subprocess.zig9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/bun.js/api/bun/subprocess.zig b/src/bun.js/api/bun/subprocess.zig
index 400a49215..75f1eb05c 100644
--- a/src/bun.js/api/bun/subprocess.zig
+++ b/src/bun.js/api/bun/subprocess.zig
@@ -1364,6 +1364,7 @@ pub const Subprocess = struct {
subprocess.stdin.buffered_input.writeIfPossible(true);
}
}
+ subprocess.closeIO(.stdin);
{
var poll = JSC.FilePoll.init(jsc_vm, pidfd, .{}, Subprocess, subprocess);
@@ -1387,6 +1388,14 @@ pub const Subprocess = struct {
}
while (!subprocess.hasExited()) {
+ if (subprocess.stderr == .pipe and subprocess.stderr.pipe == .buffer) {
+ subprocess.stderr.pipe.buffer.readAll();
+ }
+
+ if (subprocess.stdout == .pipe and subprocess.stdout.pipe == .buffer) {
+ subprocess.stdout.pipe.buffer.readAll();
+ }
+
jsc_vm.tick();
jsc_vm.eventLoop().autoTick();
}