On Wed, 17 Jan 2024 15:38:22 GMT, Richard Reingruber <rr...@openjdk.org> wrote:
>> 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 I noticed that VirtualThread overrides `isInterrupted` https://github.com/openjdk/jdk/blob/05dad67cc23fb49627fabfb306acee247ff67aef/src/java.base/share/classes/java/lang/VirtualThread.java#L902-L905 with just the same implementation as Thread has: https://github.com/openjdk/jdk/blob/05dad67cc23fb49627fabfb306acee247ff67aef/src/java.base/share/classes/java/lang/Thread.java#L1741-L1751 This potentially hinders performance. Is there a reason to have this override? ------------- PR Comment: https://git.openjdk.org/jdk/pull/17444#issuecomment-1899918903