On Mon, 13 Jan 2025 13:31:44 GMT, Magnus Ihse Bursie <i...@openjdk.org> wrote:
>> To be able to properly support static builds on Windows in >> [JDK-8346377](https://bugs.openjdk.org/browse/JDK-8346377), we cannot use >> `DllMain`, for two reasons: >> >> 1) This is not called for statically linked libraries, and >> 2) There are multiple `DllMain` definitions throughout the JDK native >> libraries, causing name collisions. >> >> While it could have been possible to keep the `DllMain` function for >> non-static builds and just use an alternative solution for static builds, I >> think it is preferable to have a single solution that works as well for both >> static and dynamic builds. >> >> On top of this, the existing solution was contrary to [Microsoft >> recommendations](https://learn.microsoft.com/en-us/windows/win32/api/winsock/nf-winsock-wsacleanup), >> which state: "The WSACleanup function typically leads to protocol-specific >> helper DLLs being unloaded. As a result, the WSACleanup function should not >> be called from the DllMain function in a application DLL. This can >> potentially cause deadlocks. " > > Magnus Ihse Bursie has updated the pull request incrementally with one > additional commit since the last revision: > > Update copyright years to 2025 I will click approve but I think we need to keep a careful eye out for odd network related failures during shutdown. Thanks ------------- Marked as reviewed by dholmes (Reviewer). PR Review: https://git.openjdk.org/jdk/pull/22789#pullrequestreview-2547910996