JDK-7143744 : (se) Stabilize KQueue SelectorProvider and make default on MacOSX
  • Type: Bug
  • Component: core-libs
  • Sub-Component: java.nio
  • Affected Version: 7u4,8
  • Priority: P3
  • Status: Closed
  • Resolution: Fixed
  • OS: os_x
  • CPU: generic,x86
  • Submitted: 2012-02-08
  • Updated: 2012-05-30
  • Resolved: 2012-05-30
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 7 JDK 8
7u6Fixed 8 b36Fixed
Related Reports
Duplicate :  
Description
Apple donated their KQueue based SelectorProvider implementation to the macosx project:

http://hg.openjdk.java.net/macosx-port/macosx-port/jdk/rev/cb5ebc902d33

Unfortunately this SelectorProvider implementation has several issues and many tests are failing. For 7u4 we have changed the default SelectorProvider on Mac to be the poll based SelectorProvider, pending resolution of the bugs. Apple's KQueue SelectorProvider is included of course and folks can try it out with -Djava.nio.channels.spi.SelectorProvider=sun.nio.ch.KQueueSelectorProvider if they are interested.

For JDK8 we need to re-visit this and make the KQueue based Selector the default on Mac.

As reference we implemented the asynchronous I/O API using KQueue:

http://hg.openjdk.java.net/jdk7u/jdk7u-dev/jdk/rev/5599aa5a4a51

Comments
EVALUATION http://hg.openjdk.java.net/jdk8/tl/jdk/rev/c0f34986d1c5
16-04-2012

EVALUATION The Selector needs several changes in order to pass all tests.
10-02-2012