> The teardown of a Process launched by `ProcessBuilder` includes the closing
> of streams and ensuring the termination of the process is the responsibility
> of the caller. The `Process.close()` method provides a clear and obvious way
> to ensure all the streams are closed and the process terminated.
>
> The try-with-resources statement is frequently used to open streams and
> ensure they are closed on exiting the block. By implementing
> `AutoClosable.close()` the completeness of closing the streams and process
> termination can be done by try-with-resources.
>
> The actions of the `close()` method are to close each stream and destroy the
> process if it has not terminated.
Roger Riggs has updated the pull request incrementally with one additional
commit since the last revision:
Updates from review comments:
- Editorial improvements to javadoc
- Exceptions that occur closing streams are quietly logged
to the java.lang.Process system log as DEBUG
- The prototype code attempting to wait for process exit is removed,
it provided marginal benefit and raised complexity due to interrupt
handling
- Test updates for racy test cases that are not errors
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/26649/files
- new: https://git.openjdk.org/jdk/pull/26649/files/51355da2..c04ee6e2
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=26649&range=01
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=26649&range=00-01
Stats: 128 lines in 4 files changed: 45 ins; 34 del; 49 mod
Patch: https://git.openjdk.org/jdk/pull/26649.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/26649/head:pull/26649
PR: https://git.openjdk.org/jdk/pull/26649