Integrated: 8323782: Race: Thread::interrupt vs. AbstractInterruptibleChannel.begin
Richard Reingruber
rrich at openjdk.org
Fri Feb 16 08:43:01 UTC 2024
On Tue, 16 Jan 2024 10:57:46 GMT, Richard Reingruber <rrich at 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.
This pull request has now been integrated.
Changeset: 4018b2b1
Author: Richard Reingruber <rrich at openjdk.org>
URL: https://git.openjdk.org/jdk/commit/4018b2b19629ddb8cd7a56e064dfef371f23e5fa
Stats: 103 lines in 2 files changed: 97 ins; 5 del; 1 mod
8323782: Race: Thread::interrupt vs. AbstractInterruptibleChannel.begin
Co-authored-by: Alan Bateman <alanb at openjdk.org>
Reviewed-by: alanb, dholmes
-------------
PR: https://git.openjdk.org/jdk/pull/17444
More information about the core-libs-dev
mailing list