RFR: 8323782: Race: Thread::interrupt vs. AbstractInterruptibleChannel.begin [v2]

Richard Reingruber rrich at openjdk.org
Wed Jan 17 15:38:22 UTC 2024


> Set `interrupted` in `Thread::interrupt` before reading `nioBlocker` for correct (Dekker scheme) synchronization with concurrent execution of [`AbstractInterruptibleChannel::begin`](https://github.com/openjdk/jdk/blob/59062402b9c5ed5612a13c1c40eb22cf1b97c41a/src/java.base/share/classes/java/nio/channels/spi/AbstractInterruptibleChannel.java#L176).
> 
> The change passed our CI functional testing: JTReg tests: tier1-4 of hotspot and jdk. All of Langtools and jaxp. SPECjvm2008, SPECjbb2015, Renaissance Suite, and SAP specific tests.
> Testing was done with fastdebug and release builds on the main platforms and also on Linux/PPC64le and AIX.

Richard Reingruber has updated the pull request incrementally with one additional commit since the last revision:

  Review Alan

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/17444/files
  - new: https://git.openjdk.org/jdk/pull/17444/files/2c1d3835..ab3513c1

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=17444&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=17444&range=00-01

  Stats: 5 lines in 1 file changed: 3 ins; 1 del; 1 mod
  Patch: https://git.openjdk.org/jdk/pull/17444.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/17444/head:pull/17444

PR: https://git.openjdk.org/jdk/pull/17444


More information about the core-libs-dev mailing list