RFR: 8364361: [process] java.lang.Process should implement Closeable [v19]

Roger Riggs rriggs at openjdk.org
Fri Oct 24 18:07:40 UTC 2025


> 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:

  Review comment updates to handle cases where stream close methods might
  throw exceptions other then IOException and add them to the suppressed exceptions.
  Update the spec and @implSpec to be clear about exception handling
  and how the process is terminated with destroyForcibly.

-------------

Changes:
  - all: https://git.openjdk.org/jdk/pull/26649/files
  - new: https://git.openjdk.org/jdk/pull/26649/files/f65dcf65..b6588f23

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=26649&range=18
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=26649&range=17-18

  Stats: 18 lines in 1 file changed: 7 ins; 1 del; 10 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


More information about the core-libs-dev mailing list