United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-7143744 (se) Stabilize KQueue SelectorProvider and make default on MacOSX
JDK-7143744 : (se) Stabilize KQueue SelectorProvider and make default on MacOSX

Details
Type:
Bug
Submit Date:
2012-02-08
Status:
Closed
Updated Date:
2012-05-30
Project Name:
JDK
Resolved Date:
2012-05-30
Component:
core-libs
OS:
os_x
Sub-Component:
java.nio
CPU:
x86,generic
Priority:
P3
Resolution:
Fixed
Affected Versions:
7u4,8
Fixed Versions:

Related Reports
Backport:
Duplicate:

Sub Tasks

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

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

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



Hardware and Software, Engineered to Work Together