Integrated: 8351458: (ch) Move preClose to UnixDispatcher
Alan Bateman
alanb at openjdk.org
Tue Mar 11 11:29:13 UTC 2025
On Sun, 9 Mar 2025 09:10:15 GMT, Alan Bateman <alanb at openjdk.org> wrote:
> Network channels in blocking mode, and the NIO based SocketImpl, have to deal with async close when there are threads blocked on the channel. Virtual threads blocked on the channel need to be unparked. On Unix systems, platform threads blocked on the channel require the file descriptor to be dup'ed to a special file descriptor and the threads signalled.
>
> There is a bit of duplication in the implementation of the 5 channels, and in the SocketImpl. In addition, there is discussion on net-dev about an issue in AIX that will require allowing for signals to be queued (the current implementation does not require OS to support queuing of signals).
>
> We refactor this code so that the "prepare for close" is in one place, UnixDispatcher.
This pull request has now been integrated.
Changeset: 0de2cddf
Author: Alan Bateman <alanb at openjdk.org>
URL: https://git.openjdk.org/jdk/commit/0de2cddf3a7be23f67af93972875af1235f3107e
Stats: 163 lines in 12 files changed: 43 ins; 82 del; 38 mod
8351458: (ch) Move preClose to UnixDispatcher
Reviewed-by: bpb, jpai
-------------
PR: https://git.openjdk.org/jdk/pull/23956
More information about the nio-dev
mailing list