RFR: 8291986: ProcessBuilder.redirectErrorStream(true) leaves error stream available [v3]
Roger Riggs
rriggs at openjdk.org
Tue Jan 13 21:47:40 UTC 2026
> On Linux and Mac, when a process is started, pipes are created to communicate with the child.
> In the case where the stderr is redirected to stdout using `ProcessBuilder.redirectErrorStream()`, the pipe is not needed and should not be created.
>
> Added a test to check pipe creation when spawning with and without `redirectErrorStream(t/f)`.
> Rewrote the extraction of pipes to use `lsof` available on Mac and Linux. (previously used Linux /proc/pid/fd/...)
> Converted PipelineLeaksFD test to JUnit.
Roger Riggs has updated the pull request incrementally with two additional commits since the last revision:
- Some test platforms do not have `lsof` installed, if not available,
the tests are skipped.
- Remove extra -Xint test run, its purpose is unknown.
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/29143/files
- new: https://git.openjdk.org/jdk/pull/29143/files/83d03292..38328d56
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=29143&range=02
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=29143&range=01-02
Stats: 29 lines in 1 file changed: 21 ins; 8 del; 0 mod
Patch: https://git.openjdk.org/jdk/pull/29143.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/29143/head:pull/29143
PR: https://git.openjdk.org/jdk/pull/29143
More information about the core-libs-dev
mailing list