RFR: 8322829: Refactor nioBlocker to avoid blocking while holding Thread's interrupt lock

Jaikiran Pai jpai at openjdk.org
Fri Jan 5 17:50:22 UTC 2024


On Tue, 2 Jan 2024 10:21:11 GMT, Alan Bateman <alanb at openjdk.org> wrote:

> In preparation for when virtual threads can unmount while holding a monitor or unmount when blocking on monitorenter, the implementation of VirtualThread's interrupt method is refactored to avoid parking/blocking while holding the Thread's interrupt lock. The implementations of sun.nio.ch.Interruptible are refactored to close/wakeup the InterruptibleChannel/Selector after releasing the interrupt lock. There is a lot of test coverage for async close and interrupt, no additional tests are added.

These changes look OK to me.

There are some trivial javadoc comments which you can decide if are worth doing - it's fine by me either way since like you note it is a tightly controlled internal interface.

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

Marked as reviewed by jpai (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/17219#pullrequestreview-1806509423


More information about the core-libs-dev mailing list