src/java.base/unix/classes/sun/nio/ch/InheritedChannel.java
branchunixdomainchannels
changeset 58981 5c79956cc7d7
parent 58847 692de65ab293
child 58988 b88e23c84b23
equal deleted inserted replaced
58939:aca099f4b3ec 58981:5c79956cc7d7
   113             super.implCloseSelectableChannel();
   113             super.implCloseSelectableChannel();
   114             detachIOStreams();
   114             detachIOStreams();
   115         }
   115         }
   116     }
   116     }
   117 
   117 
       
   118     public static class InheritedUnixServerSocketChannelImpl extends UnixDomainServerSocketChannelImpl {
       
   119 
       
   120         InheritedUnixServerSocketChannelImpl(SelectorProvider sp, FileDescriptor fd)
       
   121             throws IOException
       
   122         {
       
   123             super(sp, fd, true);
       
   124         }
       
   125 
       
   126         @Override
       
   127         protected void implCloseSelectableChannel() throws IOException {
       
   128             super.implCloseSelectableChannel();
       
   129             detachIOStreams();
       
   130         }
       
   131     }
       
   132 
   118     public static class InheritedInetServerSocketChannelImpl extends
   133     public static class InheritedInetServerSocketChannelImpl extends
   119         InetServerSocketChannelImpl {
   134         InetServerSocketChannelImpl {
   120 
   135 
   121         InheritedInetServerSocketChannelImpl(SelectorProvider sp,
   136         InheritedInetServerSocketChannelImpl(SelectorProvider sp,
   122                                          FileDescriptor fd)
   137                                          FileDescriptor fd)
   212                 return null;
   227                 return null;
   213             if (family == AF_UNIX) {
   228             if (family == AF_UNIX) {
   214                 if (isConnected(fdVal)) {
   229                 if (isConnected(fdVal)) {
   215                     return new InheritedUnixSocketChannelImpl(provider, fd);
   230                     return new InheritedUnixSocketChannelImpl(provider, fd);
   216                 } else {
   231                 } else {
   217                     // listener. unsupported.
   232                     return new InheritedUnixServerSocketChannelImpl(provider, fd);
   218                     return null;
       
   219                 }
   233                 }
   220             }
   234             }
   221             InetAddress ia = peerAddress0(fdVal);
   235             InetAddress ia = peerAddress0(fdVal);
   222             if (ia == null) {
   236             if (ia == null) {
   223                c = new InheritedInetServerSocketChannelImpl(provider, fd);
   237                c = new InheritedInetServerSocketChannelImpl(provider, fd);