[crac] RFR: 8371549: [CRaC] Implement C/R in Selector on non-Linux

Radim Vansa rvansa at openjdk.org
Fri Nov 28 15:55:11 UTC 2025


Historically we have an extensive set of tests for java.nio.channels.Selector. However this runs only on Linux (using CRIU) rather than being platform agnostic and tested on all platforms. On Linux, it does not exercise PollSelectorImpl (this can be preferred using a system property) either - just the default EpollSelectorImpl.

This PR enables testing on all available Selector implementations, cleans up the implementation of those tests and introduces the C/R implementations.

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

Commit messages:
 - Fix InterruptedSelectionTest on Windows
 - Allow socket registrations during restore
 - Fix ContextOrderTest
 - Test listening socket reopen with other selectors
 - Implement support for other selectors
 - Enable tests with alternative selector
 - Move and rename Selector tests
 - Use simengine in Selector tests

Changes: https://git.openjdk.org/crac/pull/276/files
  Webrev: https://webrevs.openjdk.org/?repo=crac&pr=276&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8371549
  Stats: 3729 lines in 36 files changed: 2117 ins; 1542 del; 70 mod
  Patch: https://git.openjdk.org/crac/pull/276.diff
  Fetch: git fetch https://git.openjdk.org/crac.git pull/276/head:pull/276

PR: https://git.openjdk.org/crac/pull/276


More information about the crac-dev mailing list