When Java is started by a system launcher daemon such as 'xinetd' SelectorProvider.inheritedChannel() is supposed to return a Channel attached to the socket provided by the launcher. It is specified to return particular NetworkChannel sub-types for various network connection/socket types. It is currently not specified what/if anything is returned should the socket be something different like a Unix domain socket.
The current behavior is to incorrectly return (Inet) SocketChannel types which are wrong because the local and remote address types are different.
The simplest solution at this point, is to return null for listener (unix domain) sockets and a simple ByteChannel for connected Unix domain sockets, which will maintain the existing useful behavior.
The current behavior is to incorrectly return (Inet) SocketChannel types which are wrong because the local and remote address types are different.
The simplest solution at this point, is to return null for listener (unix domain) sockets and a simple ByteChannel for connected Unix domain sockets, which will maintain the existing useful behavior.
- relates to
-
JDK-8231450 Copyright header line omitted from 8231187 changeset
-
- Resolved
-
-
JDK-8239139 test/jdk/java/nio/channels/spi/SelectorProvider/inheritedChannel/libInheritedChannel.c does not compile with gcc 8.3.1
-
- Resolved
-