From 8178f758bc249f12fb82fce15a8f63be1b907ddb Mon Sep 17 00:00:00 2001 From: Yoshiya Hinosawa Date: Sat, 27 Apr 2024 20:25:18 +0900 Subject: fix(ext/node): support process.stdin.unref() (#22865) This PR adds private `[REF]()` and `[UNREF]()` methods to Stdin class, and call them from Node.js polyfill layer (`TTY` class). This enables `process.stdin.unref()` and `process.stdin.ref()` for the case when stdin is terminal. closes #21796 --- tests/testdata/run/node_process_stdin_unref_with_pty.js | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 tests/testdata/run/node_process_stdin_unref_with_pty.js (limited to 'tests/testdata') diff --git a/tests/testdata/run/node_process_stdin_unref_with_pty.js b/tests/testdata/run/node_process_stdin_unref_with_pty.js new file mode 100644 index 000000000..e86304981 --- /dev/null +++ b/tests/testdata/run/node_process_stdin_unref_with_pty.js @@ -0,0 +1,14 @@ +import process from "node:process"; +import util from "node:util"; + +console.log("START"); +globalThis.addEventListener("unload", () => console.log("END")); + +const args = util.parseArgs({ options: { unref: { type: "boolean" } } }); + +// call stdin.unref if --unref is passed +if (args.values.unref) { + process.stdin.unref(); +} + +process.stdin.pipe(process.stdout); -- cgit v1.2.3