summaryrefslogtreecommitdiff
path: root/ext/node/polyfills/internal/child_process.ts
diff options
context:
space:
mode:
Diffstat (limited to 'ext/node/polyfills/internal/child_process.ts')
-rw-r--r--ext/node/polyfills/internal/child_process.ts11
1 files changed, 10 insertions, 1 deletions
diff --git a/ext/node/polyfills/internal/child_process.ts b/ext/node/polyfills/internal/child_process.ts
index 5a9212618..0ca2a958e 100644
--- a/ext/node/polyfills/internal/child_process.ts
+++ b/ext/node/polyfills/internal/child_process.ts
@@ -503,11 +503,20 @@ function normalizeStdioOption(
if (Array.isArray(stdio)) {
// `[0, 1, 2]` is equivalent to `"inherit"`
if (
- stdio.length === 3 && stdio[0] === 0 && stdio[1] === 1 && stdio[2] === 2
+ stdio.length === 3 &&
+ (stdio[0] === 0 && stdio[1] === 1 && stdio[2] === 2)
) {
return ["inherit", "inherit", "inherit"];
}
+ // `[null, null, null]` is equivalent to `"pipe"
+ if (
+ stdio.length === 3 &&
+ stdio[0] === null || stdio[1] === null || stdio[2] === null
+ ) {
+ return ["pipe", "pipe", "pipe"];
+ }
+
// At least 3 stdio must be created to match node
while (stdio.length < 3) {
ArrayPrototypePush(stdio, undefined);