RFR: 8338858: Replace undocumented APIs with documented APIs in the OpenJDK

Dhamoder Nalla dhanalla at openjdk.org
Thu Aug 22 18:28:12 UTC 2024


The `wepoll` code has been ported from opensource repo [`wepoll`](https://github.com/piscisaureus/wepoll) to OpenJDK in PR [pull/3816](https://github.com/openjdk/jdk/pull/3816), which incorporated undocumented Windows APIs (NtCreateKeyedEvent, NtReleaseKeyedEvent, NtWaitForKeyedEvent). 

This PR aims to replace these undocumented APIs with documented synchronization APIs. 

Test Performed:
1. All 12 tests in wepoll repo passed 
           test-auto-drop-on-close PASS
           test-connect-fail-events PASS
           test-connect-success-events PASS
           test-ctl-fuzz PASS
           test-error PASS
           test-leak-1 PASS
           test-mixed-socket-types PASS
           test-multi-poll PASS
           test-oneshot-and-hangup PASS
           test-reflock PASS
           test-tree PASS
           test-udp-pings PASS
        DONE - 12 PASSED, 0 FAILED

2. No new failure in JTreg test
3. Micro bench results: similar performance score before and after the changes

without change in this PR:

![image](https://github.com/user-attachments/assets/c784d00e-3f0a-483d-b60a-c7a46aba885c)

With the change in this PR:

![image](https://github.com/user-attachments/assets/5e6a68bc-48ae-475f-891e-395941068f6e)

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

Commit messages:
 - 8338858:Replace undocumented APIs with documented APIs in the OpenJDK

Changes: https://git.openjdk.org/jdk/pull/20682/files
  Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=20682&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8338858
  Stats: 84 lines in 2 files changed: 32 ins; 32 del; 20 mod
  Patch: https://git.openjdk.org/jdk/pull/20682.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/20682/head:pull/20682

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


More information about the nio-dev mailing list