> 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 one additional commit since the last revision: Refactor execution of lsof to provide more debugging information. The raw lsof output is retained and printed to the log on a failure. A couple of intermittent failures have reported too many or too few pipes. Additional lsof information can help identify the extra pipes. ------------- Changes: - all: https://git.openjdk.org/jdk/pull/29143/files - new: https://git.openjdk.org/jdk/pull/29143/files/38328d56..131f4ccb Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=29143&range=03 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=29143&range=02-03 Stats: 56 lines in 1 file changed: 41 ins; 7 del; 8 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
