RFR: 8322829: Refactor nioBlocker to avoid blocking while holding Thread's interrupt lock [v2]
Alan Bateman
alanb at openjdk.org
Mon Jan 8 09:04:57 UTC 2024
> 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.
Alan Bateman has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains four additional commits since the last revision:
- Make sun.nio.ch.Interruptible's javadoc a bit clearer
- Merge
- Merge
- Initial commit
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/17219/files
- new: https://git.openjdk.org/jdk/pull/17219/files/e402582d..634cd876
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=17219&range=01
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=17219&range=00-01
Stats: 4903 lines in 422 files changed: 2589 ins; 930 del; 1384 mod
Patch: https://git.openjdk.org/jdk/pull/17219.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/17219/head:pull/17219
PR: https://git.openjdk.org/jdk/pull/17219
More information about the core-libs-dev
mailing list