RFR: 8364361: [process] java.lang.Process should implement close and be AutoCloseable [v4]

David Holmes dholmes at openjdk.org
Thu Aug 21 01:33:53 UTC 2025


On Wed, 20 Aug 2025 20:16:46 GMT, Roger Riggs <rriggs at openjdk.org> wrote:

>> src/java.base/share/classes/java/lang/Process.java line 652:
>> 
>>> 650:      */
>>> 651:     public void close() throws IOException {
>>> 652:         synchronized(this) {
>> 
>> Might be safer to create a dedicated, private object to use for locking here instead of `this`. Otherwise there's a possibility of deadlock (or indefinite delay), for example, if a subclass happens to have a `synchronized` method that could block while trying to communicate with the process, etc.
>
> There are other `synchronized(this)` within Process, its cleaner to stay consistent and update them later in a separate PR.

That would be an incompatible change as subclasses could no longer define operations that are atomic with respect to the superclass methods that lock `this`.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/26649#discussion_r2289652539


More information about the core-libs-dev mailing list