class sun.nio.ch.UnixAsynchronousServerSocketChannelImpl extends sun.nio.ch.AsynchronousServerSocketChannelImpl implements sun.nio.ch.Port$PollableChannel
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: sun.nio.ch.UnixAsynchronousServerSocketChannelImpl
  super_class: sun.nio.ch.AsynchronousServerSocketChannelImpl
{
  private static final sun.nio.ch.NativeDispatcher nd;
    descriptor: Lsun/nio/ch/NativeDispatcher;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final sun.nio.ch.Port port;
    descriptor: Lsun/nio/ch/Port;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int fdVal;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.concurrent.atomic.AtomicBoolean accepting;
    descriptor: Ljava/util/concurrent/atomic/AtomicBoolean;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.Object updateLock;
    descriptor: Ljava/lang/Object;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private boolean acceptPending;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private java.nio.channels.CompletionHandler<java.nio.channels.AsynchronousSocketChannel, java.lang.Object> acceptHandler;
    descriptor: Ljava/nio/channels/CompletionHandler;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/nio/channels/CompletionHandler<Ljava/nio/channels/AsynchronousSocketChannel;Ljava/lang/Object;>;

  private java.lang.Object acceptAttachment;
    descriptor: Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE

  private sun.nio.ch.PendingFuture<java.nio.channels.AsynchronousSocketChannel, java.lang.Object> acceptFuture;
    descriptor: Lsun/nio/ch/PendingFuture;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lsun/nio/ch/PendingFuture<Ljava/nio/channels/AsynchronousSocketChannel;Ljava/lang/Object;>;

  private java.security.AccessControlContext acceptAcc;
    descriptor: Ljava/security/AccessControlContext;
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 46
            new sun.nio.ch.SocketDispatcher
            dup
            invokespecial sun.nio.ch.SocketDispatcher.<init>:()V
            putstatic sun.nio.ch.UnixAsynchronousServerSocketChannelImpl.nd:Lsun/nio/ch/NativeDispatcher;
         1: .line 348
            invokestatic sun.nio.ch.IOUtil.load:()V
         2: .line 349
            invokestatic sun.nio.ch.UnixAsynchronousServerSocketChannelImpl.initIDs:()V
         3: .line 350
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void enableAccept();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.nio.ch.UnixAsynchronousServerSocketChannelImpl this
         0: .line 54
            aload 0 /* this */
            getfield sun.nio.ch.UnixAsynchronousServerSocketChannelImpl.accepting:Ljava/util/concurrent/atomic/AtomicBoolean;
            iconst_0
            invokevirtual java.util.concurrent.atomic.AtomicBoolean.set:(Z)V
         1: .line 55
            return
        end local 0 // sun.nio.ch.UnixAsynchronousServerSocketChannelImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/nio/ch/UnixAsynchronousServerSocketChannelImpl;

  void <init>(sun.nio.ch.Port);
    descriptor: (Lsun/nio/ch/Port;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // sun.nio.ch.UnixAsynchronousServerSocketChannelImpl this
        start local 1 // sun.nio.ch.Port port
         0: .line 74
            aload 0 /* this */
            aload 1 /* port */
            invokespecial sun.nio.ch.AsynchronousServerSocketChannelImpl.<init>:(Lsun/nio/ch/AsynchronousChannelGroupImpl;)V
         1: .line 52
            aload 0 /* this */
            new java.util.concurrent.atomic.AtomicBoolean
            dup
            invokespecial java.util.concurrent.atomic.AtomicBoolean.<init>:()V
            putfield sun.nio.ch.UnixAsynchronousServerSocketChannelImpl.accepting:Ljava/util/concurrent/atomic/AtomicBoolean;
         2: .line 59
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield sun.nio.ch.UnixAsynchronousServerSocketChannelImpl.updateLock:Ljava/lang/Object;
         3: .line 77
            aload 0 /* this */
            getfield sun.nio.ch.UnixAsynchronousServerSocketChannelImpl.fd:Ljava/io/FileDescriptor;
            iconst_0
            invokestatic sun.nio.ch.IOUtil.configureBlocking:(Ljava/io/FileDescriptor;Z)V
         4: .line 78
            goto 8
      StackMap locals: sun.nio.ch.UnixAsynchronousServerSocketChannelImpl sun.nio.ch.Port
      StackMap stack: java.io.IOException
         5: astore 2 /* x */
        start local 2 // java.io.IOException x
         6: .line 79
            getstatic sun.nio.ch.UnixAsynchronousServerSocketChannelImpl.nd:Lsun/nio/ch/NativeDispatcher;
            aload 0 /* this */
            getfield sun.nio.ch.UnixAsynchronousServerSocketChannelImpl.fd:Ljava/io/FileDescriptor;
            invokevirtual sun.nio.ch.NativeDispatcher.close:(Ljava/io/FileDescriptor;)V
         7: .line 80
            aload 2 /* x */
            athrow
        end local 2 // java.io.IOException x
         8: .line 82
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* port */
            putfield sun.nio.ch.UnixAsynchronousServerSocketChannelImpl.port:Lsun/nio/ch/Port;
         9: .line 83
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.nio.ch.UnixAsynchronousServerSocketChannelImpl.fd:Ljava/io/FileDescriptor;
            invokestatic sun.nio.ch.IOUtil.fdVal:(Ljava/io/FileDescriptor;)I
            putfield sun.nio.ch.UnixAsynchronousServerSocketChannelImpl.fdVal:I
        10: .line 86
            aload 1 /* port */
            aload 0 /* this */
            getfield sun.nio.ch.UnixAsynchronousServerSocketChannelImpl.fdVal:I
            aload 0 /* this */
            invokevirtual sun.nio.ch.Port.register:(ILsun/nio/ch/Port$PollableChannel;)V
        11: .line 87
            return
        end local 1 // sun.nio.ch.Port port
        end local 0 // sun.nio.ch.UnixAsynchronousServerSocketChannelImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lsun/nio/ch/UnixAsynchronousServerSocketChannelImpl;
            0   12     1  port  Lsun/nio/ch/Port;
            6    8     2     x  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           3     4       5  Class java.io.IOException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      port  

  void implClose();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // sun.nio.ch.UnixAsynchronousServerSocketChannelImpl this
         0: .line 92
            aload 0 /* this */
            getfield sun.nio.ch.UnixAsynchronousServerSocketChannelImpl.port:Lsun/nio/ch/Port;
            aload 0 /* this */
            getfield sun.nio.ch.UnixAsynchronousServerSocketChannelImpl.fdVal:I
            invokevirtual sun.nio.ch.Port.unregister:(I)V
         1: .line 95
            getstatic sun.nio.ch.UnixAsynchronousServerSocketChannelImpl.nd:Lsun/nio/ch/NativeDispatcher;
            aload 0 /* this */
            getfield sun.nio.ch.UnixAsynchronousServerSocketChannelImpl.fd:Ljava/io/FileDescriptor;
            invokevirtual sun.nio.ch.NativeDispatcher.close:(Ljava/io/FileDescriptor;)V
         2: .line 101
            aload 0 /* this */
            getfield sun.nio.ch.UnixAsynchronousServerSocketChannelImpl.updateLock:Ljava/lang/Object;
            dup
            astore 4
            monitorenter
         3: .line 102
            aload 0 /* this */
            getfield sun.nio.ch.UnixAsynchronousServerSocketChannelImpl.acceptPending:Z
            ifne 6
         4: .line 103
            aload 4
            monitorexit
         5: return
         6: .line 104
      StackMap locals: sun.nio.ch.UnixAsynchronousServerSocketChannelImpl top top top java.lang.Object
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield sun.nio.ch.UnixAsynchronousServerSocketChannelImpl.acceptPending:Z
         7: .line 105
            aload 0 /* this */
            getfield sun.nio.ch.UnixAsynchronousServerSocketChannelImpl.acceptHandler:Ljava/nio/channels/CompletionHandler;
            astore 1 /* handler */
        start local 1 // java.nio.channels.CompletionHandler handler
         8: .line 106
            aload 0 /* this */
            getfield sun.nio.ch.UnixAsynchronousServerSocketChannelImpl.acceptAttachment:Ljava/lang/Object;
            astore 2 /* att */
        start local 2 // java.lang.Object att
         9: .line 107
            aload 0 /* this */
            getfield sun.nio.ch.UnixAsynchronousServerSocketChannelImpl.acceptFuture:Lsun/nio/ch/PendingFuture;
            astore 3 /* future */
        start local 3 // sun.nio.ch.PendingFuture future
        10: .line 101
            aload 4
            monitorexit
        11: goto 14
        end local 3 // sun.nio.ch.PendingFuture future
        end local 2 // java.lang.Object att
        end local 1 // java.nio.channels.CompletionHandler handler
      StackMap locals:
      StackMap stack: java.lang.Throwable
        12: aload 4
            monitorexit
        13: athrow
        start local 1 // java.nio.channels.CompletionHandler handler
        start local 2 // java.lang.Object att
        start local 3 // sun.nio.ch.PendingFuture future
        14: .line 112
      StackMap locals: sun.nio.ch.UnixAsynchronousServerSocketChannelImpl java.nio.channels.CompletionHandler java.lang.Object sun.nio.ch.PendingFuture
      StackMap stack:
            new java.nio.channels.AsynchronousCloseException
            dup
            invokespecial java.nio.channels.AsynchronousCloseException.<init>:()V
            astore 4 /* x */
        start local 4 // java.nio.channels.AsynchronousCloseException x
        15: .line 113
            aload 4 /* x */
            iconst_0
            anewarray java.lang.StackTraceElement
            invokevirtual java.nio.channels.AsynchronousCloseException.setStackTrace:([Ljava/lang/StackTraceElement;)V
        16: .line 114
            aload 1 /* handler */
            ifnonnull 19
        17: .line 115
            aload 3 /* future */
            aload 4 /* x */
            invokevirtual sun.nio.ch.PendingFuture.setFailure:(Ljava/lang/Throwable;)V
        18: .line 116
            goto 20
        19: .line 118
      StackMap locals: java.nio.channels.AsynchronousCloseException
      StackMap stack:
            aload 0 /* this */
            aload 1 /* handler */
            aload 2 /* att */
            aconst_null
            aload 4 /* x */
            invokestatic sun.nio.ch.Invoker.invokeIndirectly:(Ljava/nio/channels/AsynchronousChannel;Ljava/nio/channels/CompletionHandler;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Throwable;)V
        20: .line 120
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.nio.channels.AsynchronousCloseException x
        end local 3 // sun.nio.ch.PendingFuture future
        end local 2 // java.lang.Object att
        end local 1 // java.nio.channels.CompletionHandler handler
        end local 0 // sun.nio.ch.UnixAsynchronousServerSocketChannelImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   21     0     this  Lsun/nio/ch/UnixAsynchronousServerSocketChannelImpl;
            8   12     1  handler  Ljava/nio/channels/CompletionHandler<Ljava/nio/channels/AsynchronousSocketChannel;Ljava/lang/Object;>;
           14   21     1  handler  Ljava/nio/channels/CompletionHandler<Ljava/nio/channels/AsynchronousSocketChannel;Ljava/lang/Object;>;
            9   12     2      att  Ljava/lang/Object;
           14   21     2      att  Ljava/lang/Object;
           10   12     3   future  Lsun/nio/ch/PendingFuture<Ljava/nio/channels/AsynchronousSocketChannel;Ljava/lang/Object;>;
           14   21     3   future  Lsun/nio/ch/PendingFuture<Ljava/nio/channels/AsynchronousSocketChannel;Ljava/lang/Object;>;
           15   21     4        x  Ljava/nio/channels/AsynchronousCloseException;
      Exception table:
        from    to  target  type
           3     5      12  any
           6    11      12  any
          12    13      12  any
    Exceptions:
      throws java.io.IOException

  public sun.nio.ch.AsynchronousChannelGroupImpl group();
    descriptor: ()Lsun/nio/ch/AsynchronousChannelGroupImpl;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.nio.ch.UnixAsynchronousServerSocketChannelImpl this
         0: .line 124
            aload 0 /* this */
            getfield sun.nio.ch.UnixAsynchronousServerSocketChannelImpl.port:Lsun/nio/ch/Port;
            areturn
        end local 0 // sun.nio.ch.UnixAsynchronousServerSocketChannelImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/nio/ch/UnixAsynchronousServerSocketChannelImpl;

  public void onEvent(int, boolean);
    descriptor: (IZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=10, args_size=3
        start local 0 // sun.nio.ch.UnixAsynchronousServerSocketChannelImpl this
        start local 1 // int events
        start local 2 // boolean mayInvokeDirect
         0: .line 132
            aload 0 /* this */
            getfield sun.nio.ch.UnixAsynchronousServerSocketChannelImpl.updateLock:Ljava/lang/Object;
            dup
            astore 3
            monitorenter
         1: .line 133
            aload 0 /* this */
            getfield sun.nio.ch.UnixAsynchronousServerSocketChannelImpl.acceptPending:Z
            ifne 4
         2: .line 134
            aload 3
            monitorexit
         3: return
         4: .line 135
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield sun.nio.ch.UnixAsynchronousServerSocketChannelImpl.acceptPending:Z
         5: .line 132
            aload 3
            monitorexit
         6: goto 9
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: aload 3
            monitorexit
         8: athrow
         9: .line 139
      StackMap locals:
      StackMap stack:
            new java.io.FileDescriptor
            dup
            invokespecial java.io.FileDescriptor.<init>:()V
            astore 3 /* newfd */
        start local 3 // java.io.FileDescriptor newfd
        10: .line 140
            iconst_1
            anewarray java.net.InetSocketAddress
            astore 4 /* isaa */
        start local 4 // java.net.InetSocketAddress[] isaa
        11: .line 141
            aconst_null
            astore 5 /* exc */
        start local 5 // java.lang.Throwable exc
        12: .line 143
            aload 0 /* this */
            invokevirtual sun.nio.ch.UnixAsynchronousServerSocketChannelImpl.begin:()V
        13: .line 144
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.nio.ch.UnixAsynchronousServerSocketChannelImpl.fd:Ljava/io/FileDescriptor;
            aload 3 /* newfd */
            aload 4 /* isaa */
            invokevirtual sun.nio.ch.UnixAsynchronousServerSocketChannelImpl.accept0:(Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;[Ljava/net/InetSocketAddress;)I
            istore 6 /* n */
        start local 6 // int n
        14: .line 147
            iload 6 /* n */
            bipush -2
            if_icmpne 32
        15: .line 148
            aload 0 /* this */
            getfield sun.nio.ch.UnixAsynchronousServerSocketChannelImpl.updateLock:Ljava/lang/Object;
            dup
            astore 7
            monitorenter
        16: .line 149
            aload 0 /* this */
            iconst_1
            putfield sun.nio.ch.UnixAsynchronousServerSocketChannelImpl.acceptPending:Z
        17: .line 148
            aload 7
            monitorexit
        18: goto 21
      StackMap locals: sun.nio.ch.UnixAsynchronousServerSocketChannelImpl int int java.io.FileDescriptor java.net.InetSocketAddress[] java.lang.Throwable int java.lang.Object
      StackMap stack: java.lang.Throwable
        19: aload 7
            monitorexit
        20: athrow
        21: .line 151
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.ch.UnixAsynchronousServerSocketChannelImpl.port:Lsun/nio/ch/Port;
            aload 0 /* this */
            getfield sun.nio.ch.UnixAsynchronousServerSocketChannelImpl.fdVal:I
            getstatic sun.nio.ch.Net.POLLIN:S
            invokevirtual sun.nio.ch.Port.startPoll:(II)V
        22: .line 160
            aload 0 /* this */
            invokevirtual sun.nio.ch.UnixAsynchronousServerSocketChannelImpl.end:()V
        23: .line 152
            return
        end local 6 // int n
        24: .line 155
      StackMap locals: sun.nio.ch.UnixAsynchronousServerSocketChannelImpl int int java.io.FileDescriptor java.net.InetSocketAddress[] java.lang.Throwable
      StackMap stack: java.lang.Throwable
            astore 6 /* x */
        start local 6 // java.lang.Throwable x
        25: .line 156
            aload 6 /* x */
            instanceof java.nio.channels.ClosedChannelException
            ifeq 27
        26: .line 157
            new java.nio.channels.AsynchronousCloseException
            dup
            invokespecial java.nio.channels.AsynchronousCloseException.<init>:()V
            astore 6 /* x */
        27: .line 158
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 6 /* x */
            astore 5 /* exc */
        end local 6 // java.lang.Throwable x
        28: .line 160
            aload 0 /* this */
            invokevirtual sun.nio.ch.UnixAsynchronousServerSocketChannelImpl.end:()V
            goto 33
        29: .line 159
      StackMap locals: sun.nio.ch.UnixAsynchronousServerSocketChannelImpl int int java.io.FileDescriptor java.net.InetSocketAddress[] java.lang.Throwable
      StackMap stack: java.lang.Throwable
            astore 8
        30: .line 160
            aload 0 /* this */
            invokevirtual sun.nio.ch.UnixAsynchronousServerSocketChannelImpl.end:()V
        31: .line 161
            aload 8
            athrow
        32: .line 160
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.nio.ch.UnixAsynchronousServerSocketChannelImpl.end:()V
        33: .line 164
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 6 /* child */
        start local 6 // java.nio.channels.AsynchronousSocketChannel child
        34: .line 165
            aload 5 /* exc */
            ifnonnull 41
        35: .line 167
            aload 0 /* this */
            aload 3 /* newfd */
            aload 4 /* isaa */
            iconst_0
            aaload
            aload 0 /* this */
            getfield sun.nio.ch.UnixAsynchronousServerSocketChannelImpl.acceptAcc:Ljava/security/AccessControlContext;
            invokevirtual sun.nio.ch.UnixAsynchronousServerSocketChannelImpl.finishAccept:(Ljava/io/FileDescriptor;Ljava/net/InetSocketAddress;Ljava/security/AccessControlContext;)Ljava/nio/channels/AsynchronousSocketChannel;
            astore 6 /* child */
        36: .line 168
            goto 41
      StackMap locals: sun.nio.ch.UnixAsynchronousServerSocketChannelImpl int int java.io.FileDescriptor java.net.InetSocketAddress[] java.lang.Throwable java.nio.channels.AsynchronousSocketChannel
      StackMap stack: java.lang.Throwable
        37: astore 7 /* x */
        start local 7 // java.lang.Throwable x
        38: .line 169
            aload 7 /* x */
            instanceof java.io.IOException
            ifne 40
            aload 7 /* x */
            instanceof java.lang.SecurityException
            ifne 40
        39: .line 170
            new java.io.IOException
            dup
            aload 7 /* x */
            invokespecial java.io.IOException.<init>:(Ljava/lang/Throwable;)V
            astore 7 /* x */
        40: .line 171
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 7 /* x */
            astore 5 /* exc */
        end local 7 // java.lang.Throwable x
        41: .line 176
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.ch.UnixAsynchronousServerSocketChannelImpl.acceptHandler:Ljava/nio/channels/CompletionHandler;
            astore 7 /* handler */
        start local 7 // java.nio.channels.CompletionHandler handler
        42: .line 177
            aload 0 /* this */
            getfield sun.nio.ch.UnixAsynchronousServerSocketChannelImpl.acceptAttachment:Ljava/lang/Object;
            astore 8 /* att */
        start local 8 // java.lang.Object att
        43: .line 178
            aload 0 /* this */
            getfield sun.nio.ch.UnixAsynchronousServerSocketChannelImpl.acceptFuture:Lsun/nio/ch/PendingFuture;
            astore 9 /* future */
        start local 9 // sun.nio.ch.PendingFuture future
        44: .line 181
            aload 0 /* this */
            invokevirtual sun.nio.ch.UnixAsynchronousServerSocketChannelImpl.enableAccept:()V
        45: .line 183
            aload 7 /* handler */
            ifnonnull 52
        46: .line 184
            aload 9 /* future */
            aload 6 /* child */
            aload 5 /* exc */
            invokevirtual sun.nio.ch.PendingFuture.setResult:(Ljava/lang/Object;Ljava/lang/Throwable;)V
        47: .line 187
            aload 6 /* child */
            ifnull 53
            aload 9 /* future */
            invokevirtual sun.nio.ch.PendingFuture.isCancelled:()Z
            ifeq 53
        48: .line 189
            aload 6 /* child */
            invokevirtual java.nio.channels.AsynchronousSocketChannel.close:()V
        49: .line 190
            goto 53
      StackMap locals: sun.nio.ch.UnixAsynchronousServerSocketChannelImpl int int java.io.FileDescriptor java.net.InetSocketAddress[] java.lang.Throwable java.nio.channels.AsynchronousSocketChannel java.nio.channels.CompletionHandler java.lang.Object sun.nio.ch.PendingFuture
      StackMap stack: java.io.IOException
        50: pop
        51: .line 192
            goto 53
        52: .line 193
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 7 /* handler */
            aload 8 /* att */
            aload 6 /* child */
            aload 5 /* exc */
            invokestatic sun.nio.ch.Invoker.invoke:(Ljava/nio/channels/AsynchronousChannel;Ljava/nio/channels/CompletionHandler;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Throwable;)V
        53: .line 195
      StackMap locals:
      StackMap stack:
            return
        end local 9 // sun.nio.ch.PendingFuture future
        end local 8 // java.lang.Object att
        end local 7 // java.nio.channels.CompletionHandler handler
        end local 6 // java.nio.channels.AsynchronousSocketChannel child
        end local 5 // java.lang.Throwable exc
        end local 4 // java.net.InetSocketAddress[] isaa
        end local 3 // java.io.FileDescriptor newfd
        end local 2 // boolean mayInvokeDirect
        end local 1 // int events
        end local 0 // sun.nio.ch.UnixAsynchronousServerSocketChannelImpl this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   54     0             this  Lsun/nio/ch/UnixAsynchronousServerSocketChannelImpl;
            0   54     1           events  I
            0   54     2  mayInvokeDirect  Z
           10   54     3            newfd  Ljava/io/FileDescriptor;
           11   54     4             isaa  [Ljava/net/InetSocketAddress;
           12   54     5              exc  Ljava/lang/Throwable;
           14   24     6                n  I
           25   28     6                x  Ljava/lang/Throwable;
           34   54     6            child  Ljava/nio/channels/AsynchronousSocketChannel;
           38   41     7                x  Ljava/lang/Throwable;
           42   54     7          handler  Ljava/nio/channels/CompletionHandler<Ljava/nio/channels/AsynchronousSocketChannel;Ljava/lang/Object;>;
           43   54     8              att  Ljava/lang/Object;
           44   54     9           future  Lsun/nio/ch/PendingFuture<Ljava/nio/channels/AsynchronousSocketChannel;Ljava/lang/Object;>;
      Exception table:
        from    to  target  type
           1     3       7  any
           4     6       7  any
           7     8       7  any
          16    18      19  any
          19    20      19  any
          12    22      24  Class java.lang.Throwable
          12    22      29  any
          24    28      29  any
          35    36      37  Class java.lang.Throwable
          48    49      50  Class java.io.IOException
    MethodParameters:
                 Name  Flags
      events           
      mayInvokeDirect  

  private java.nio.channels.AsynchronousSocketChannel finishAccept(java.io.FileDescriptor, java.net.InetSocketAddress, java.security.AccessControlContext);
    descriptor: (Ljava/io/FileDescriptor;Ljava/net/InetSocketAddress;Ljava/security/AccessControlContext;)Ljava/nio/channels/AsynchronousSocketChannel;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=4
        start local 0 // sun.nio.ch.UnixAsynchronousServerSocketChannelImpl this
        start local 1 // java.io.FileDescriptor newfd
        start local 2 // java.net.InetSocketAddress remote
        start local 3 // java.security.AccessControlContext acc
         0: .line 208
            aconst_null
            astore 4 /* ch */
        start local 4 // java.nio.channels.AsynchronousSocketChannel ch
         1: .line 210
            new sun.nio.ch.UnixAsynchronousSocketChannelImpl
            dup
            aload 0 /* this */
            getfield sun.nio.ch.UnixAsynchronousServerSocketChannelImpl.port:Lsun/nio/ch/Port;
            aload 1 /* newfd */
            aload 2 /* remote */
            invokespecial sun.nio.ch.UnixAsynchronousSocketChannelImpl.<init>:(Lsun/nio/ch/Port;Ljava/io/FileDescriptor;Ljava/net/InetSocketAddress;)V
            astore 4 /* ch */
         2: .line 211
            goto 6
      StackMap locals: sun.nio.ch.UnixAsynchronousServerSocketChannelImpl java.io.FileDescriptor java.net.InetSocketAddress java.security.AccessControlContext java.nio.channels.AsynchronousSocketChannel
      StackMap stack: java.io.IOException
         3: astore 5 /* x */
        start local 5 // java.io.IOException x
         4: .line 212
            getstatic sun.nio.ch.UnixAsynchronousServerSocketChannelImpl.nd:Lsun/nio/ch/NativeDispatcher;
            aload 1 /* newfd */
            invokevirtual sun.nio.ch.NativeDispatcher.close:(Ljava/io/FileDescriptor;)V
         5: .line 213
            aload 5 /* x */
            athrow
        end local 5 // java.io.IOException x
         6: .line 218
      StackMap locals:
      StackMap stack:
            aload 3 /* acc */
            ifnull 11
         7: .line 219
            new sun.nio.ch.UnixAsynchronousServerSocketChannelImpl$1
            dup
            aload 0 /* this */
            aload 2 /* remote */
            invokespecial sun.nio.ch.UnixAsynchronousServerSocketChannelImpl$1.<init>:(Lsun/nio/ch/UnixAsynchronousServerSocketChannelImpl;Ljava/net/InetSocketAddress;)V
         8: .line 228
            aload 3 /* acc */
         9: .line 219
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;
            pop
        10: .line 229
            goto 23
        11: .line 230
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 5 /* sm */
        start local 5 // java.lang.SecurityManager sm
        12: .line 231
            aload 5 /* sm */
            ifnull 23
        13: .line 232
            aload 5 /* sm */
            aload 2 /* remote */
            invokevirtual java.net.InetSocketAddress.getAddress:()Ljava/net/InetAddress;
            invokevirtual java.net.InetAddress.getHostAddress:()Ljava/lang/String;
        14: .line 233
            aload 2 /* remote */
            invokevirtual java.net.InetSocketAddress.getPort:()I
        15: .line 232
            invokevirtual java.lang.SecurityManager.checkAccept:(Ljava/lang/String;I)V
        end local 5 // java.lang.SecurityManager sm
        16: .line 236
            goto 23
      StackMap locals:
      StackMap stack: java.lang.SecurityException
        17: astore 5 /* x */
        start local 5 // java.lang.SecurityException x
        18: .line 238
            aload 4 /* ch */
            invokevirtual java.nio.channels.AsynchronousSocketChannel.close:()V
        19: .line 239
            goto 22
      StackMap locals: sun.nio.ch.UnixAsynchronousServerSocketChannelImpl java.io.FileDescriptor java.net.InetSocketAddress java.security.AccessControlContext java.nio.channels.AsynchronousSocketChannel java.lang.SecurityException
      StackMap stack: java.lang.Throwable
        20: astore 6 /* suppressed */
        start local 6 // java.lang.Throwable suppressed
        21: .line 240
            aload 5 /* x */
            aload 6 /* suppressed */
            invokevirtual java.lang.SecurityException.addSuppressed:(Ljava/lang/Throwable;)V
        end local 6 // java.lang.Throwable suppressed
        22: .line 242
      StackMap locals:
      StackMap stack:
            aload 5 /* x */
            athrow
        end local 5 // java.lang.SecurityException x
        23: .line 244
      StackMap locals:
      StackMap stack:
            aload 4 /* ch */
            areturn
        end local 4 // java.nio.channels.AsynchronousSocketChannel ch
        end local 3 // java.security.AccessControlContext acc
        end local 2 // java.net.InetSocketAddress remote
        end local 1 // java.io.FileDescriptor newfd
        end local 0 // sun.nio.ch.UnixAsynchronousServerSocketChannelImpl this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   24     0        this  Lsun/nio/ch/UnixAsynchronousServerSocketChannelImpl;
            0   24     1       newfd  Ljava/io/FileDescriptor;
            0   24     2      remote  Ljava/net/InetSocketAddress;
            0   24     3         acc  Ljava/security/AccessControlContext;
            1   24     4          ch  Ljava/nio/channels/AsynchronousSocketChannel;
            4    6     5           x  Ljava/io/IOException;
           12   16     5          sm  Ljava/lang/SecurityManager;
           18   23     5           x  Ljava/lang/SecurityException;
           21   22     6  suppressed  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     2       3  Class java.io.IOException
           6    16      17  Class java.lang.SecurityException
          18    19      20  Class java.lang.Throwable
    Exceptions:
      throws java.io.IOException, java.lang.SecurityException
    MethodParameters:
        Name  Flags
      newfd   
      remote  final
      acc     

  java.util.concurrent.Future<java.nio.channels.AsynchronousSocketChannel> implAccept(, java.nio.channels.CompletionHandler<java.nio.channels.AsynchronousSocketChannel, java.lang.Object>);
    descriptor: (Ljava/lang/Object;Ljava/nio/channels/CompletionHandler;)Ljava/util/concurrent/Future;
    flags: (0x0000) 
    Code:
      stack=5, locals=11, args_size=3
        start local 0 // sun.nio.ch.UnixAsynchronousServerSocketChannelImpl this
        start local 1 // java.lang.Object att
        start local 2 // java.nio.channels.CompletionHandler handler
         0: .line 252
            aload 0 /* this */
            invokevirtual sun.nio.ch.UnixAsynchronousServerSocketChannelImpl.isOpen:()Z
            ifne 6
         1: .line 253
            new java.nio.channels.ClosedChannelException
            dup
            invokespecial java.nio.channels.ClosedChannelException.<init>:()V
            astore 3 /* e */
        start local 3 // java.lang.Throwable e
         2: .line 254
            aload 2 /* handler */
            ifnonnull 4
         3: .line 255
            aload 3 /* e */
            invokestatic sun.nio.ch.CompletedFuture.withFailure:(Ljava/lang/Throwable;)Lsun/nio/ch/CompletedFuture;
            areturn
         4: .line 257
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 0 /* this */
            aload 2 /* handler */
            aload 1 /* att */
            aconst_null
            aload 3 /* e */
            invokestatic sun.nio.ch.Invoker.invoke:(Ljava/nio/channels/AsynchronousChannel;Ljava/nio/channels/CompletionHandler;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Throwable;)V
         5: .line 258
            aconst_null
            areturn
        end local 3 // java.lang.Throwable e
         6: .line 261
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.ch.UnixAsynchronousServerSocketChannelImpl.localAddress:Ljava/net/InetSocketAddress;
            ifnonnull 8
         7: .line 262
            new java.nio.channels.NotYetBoundException
            dup
            invokespecial java.nio.channels.NotYetBoundException.<init>:()V
            athrow
         8: .line 266
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.nio.ch.UnixAsynchronousServerSocketChannelImpl.isAcceptKilled:()Z
            ifeq 10
         9: .line 267
            new java.lang.RuntimeException
            dup
            ldc "Accept not allowed due cancellation"
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 270
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.ch.UnixAsynchronousServerSocketChannelImpl.accepting:Ljava/util/concurrent/atomic/AtomicBoolean;
            iconst_0
            iconst_1
            invokevirtual java.util.concurrent.atomic.AtomicBoolean.compareAndSet:(ZZ)Z
            ifne 12
        11: .line 271
            new java.nio.channels.AcceptPendingException
            dup
            invokespecial java.nio.channels.AcceptPendingException.<init>:()V
            athrow
        12: .line 274
      StackMap locals:
      StackMap stack:
            new java.io.FileDescriptor
            dup
            invokespecial java.io.FileDescriptor.<init>:()V
            astore 3 /* newfd */
        start local 3 // java.io.FileDescriptor newfd
        13: .line 275
            iconst_1
            anewarray java.net.InetSocketAddress
            astore 4 /* isaa */
        start local 4 // java.net.InetSocketAddress[] isaa
        14: .line 276
            aconst_null
            astore 5 /* exc */
        start local 5 // java.lang.Throwable exc
        15: .line 278
            aload 0 /* this */
            invokevirtual sun.nio.ch.UnixAsynchronousServerSocketChannelImpl.begin:()V
        16: .line 280
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.nio.ch.UnixAsynchronousServerSocketChannelImpl.fd:Ljava/io/FileDescriptor;
            aload 3 /* newfd */
            aload 4 /* isaa */
            invokevirtual sun.nio.ch.UnixAsynchronousServerSocketChannelImpl.accept0:(Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;[Ljava/net/InetSocketAddress;)I
            istore 6 /* n */
        start local 6 // int n
        17: .line 281
            iload 6 /* n */
            bipush -2
            if_icmpne 48
        18: .line 286
            aconst_null
            astore 7 /* result */
        start local 7 // sun.nio.ch.PendingFuture result
        19: .line 287
            aload 0 /* this */
            getfield sun.nio.ch.UnixAsynchronousServerSocketChannelImpl.updateLock:Ljava/lang/Object;
            dup
            astore 8
            monitorenter
        20: .line 288
            aload 2 /* handler */
            ifnonnull 25
        21: .line 289
            aload 0 /* this */
            aconst_null
            putfield sun.nio.ch.UnixAsynchronousServerSocketChannelImpl.acceptHandler:Ljava/nio/channels/CompletionHandler;
        22: .line 290
            new sun.nio.ch.PendingFuture
            dup
            aload 0 /* this */
            invokespecial sun.nio.ch.PendingFuture.<init>:(Ljava/nio/channels/AsynchronousChannel;)V
            astore 7 /* result */
        23: .line 291
            aload 0 /* this */
            aload 7 /* result */
            putfield sun.nio.ch.UnixAsynchronousServerSocketChannelImpl.acceptFuture:Lsun/nio/ch/PendingFuture;
        24: .line 292
            goto 27
        25: .line 293
      StackMap locals: sun.nio.ch.UnixAsynchronousServerSocketChannelImpl java.lang.Object java.nio.channels.CompletionHandler java.io.FileDescriptor java.net.InetSocketAddress[] java.lang.Throwable int sun.nio.ch.PendingFuture java.lang.Object
      StackMap stack:
            aload 0 /* this */
            aload 2 /* handler */
            putfield sun.nio.ch.UnixAsynchronousServerSocketChannelImpl.acceptHandler:Ljava/nio/channels/CompletionHandler;
        26: .line 294
            aload 0 /* this */
            aload 1 /* att */
            putfield sun.nio.ch.UnixAsynchronousServerSocketChannelImpl.acceptAttachment:Ljava/lang/Object;
        27: .line 296
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            ifnonnull 29
        28: .line 297
            aconst_null
            goto 30
      StackMap locals:
      StackMap stack: sun.nio.ch.UnixAsynchronousServerSocketChannelImpl
        29: invokestatic java.security.AccessController.getContext:()Ljava/security/AccessControlContext;
        30: .line 296
      StackMap locals: sun.nio.ch.UnixAsynchronousServerSocketChannelImpl java.lang.Object java.nio.channels.CompletionHandler java.io.FileDescriptor java.net.InetSocketAddress[] java.lang.Throwable int sun.nio.ch.PendingFuture java.lang.Object
      StackMap stack: sun.nio.ch.UnixAsynchronousServerSocketChannelImpl java.security.AccessControlContext
            putfield sun.nio.ch.UnixAsynchronousServerSocketChannelImpl.acceptAcc:Ljava/security/AccessControlContext;
        31: .line 298
            aload 0 /* this */
            iconst_1
            putfield sun.nio.ch.UnixAsynchronousServerSocketChannelImpl.acceptPending:Z
        32: .line 287
            aload 8
            monitorexit
        33: goto 36
      StackMap locals:
      StackMap stack: java.lang.Throwable
        34: aload 8
            monitorexit
        35: athrow
        36: .line 302
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.nio.ch.UnixAsynchronousServerSocketChannelImpl.port:Lsun/nio/ch/Port;
            aload 0 /* this */
            getfield sun.nio.ch.UnixAsynchronousServerSocketChannelImpl.fdVal:I
            getstatic sun.nio.ch.Net.POLLIN:S
            invokevirtual sun.nio.ch.Port.startPoll:(II)V
        37: .line 303
            aload 7 /* result */
            astore 10
        38: .line 311
            aload 0 /* this */
            invokevirtual sun.nio.ch.UnixAsynchronousServerSocketChannelImpl.end:()V
        39: .line 303
            aload 10
            areturn
        end local 7 // sun.nio.ch.PendingFuture result
        end local 6 // int n
        40: .line 305
      StackMap locals: sun.nio.ch.UnixAsynchronousServerSocketChannelImpl java.lang.Object java.nio.channels.CompletionHandler java.io.FileDescriptor java.net.InetSocketAddress[] java.lang.Throwable
      StackMap stack: java.lang.Throwable
            astore 6 /* x */
        start local 6 // java.lang.Throwable x
        41: .line 307
            aload 6 /* x */
            instanceof java.nio.channels.ClosedChannelException
            ifeq 43
        42: .line 308
            new java.nio.channels.AsynchronousCloseException
            dup
            invokespecial java.nio.channels.AsynchronousCloseException.<init>:()V
            astore 6 /* x */
        43: .line 309
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 6 /* x */
            astore 5 /* exc */
        end local 6 // java.lang.Throwable x
        44: .line 311
            aload 0 /* this */
            invokevirtual sun.nio.ch.UnixAsynchronousServerSocketChannelImpl.end:()V
            goto 49
        45: .line 310
      StackMap locals: sun.nio.ch.UnixAsynchronousServerSocketChannelImpl java.lang.Object java.nio.channels.CompletionHandler java.io.FileDescriptor java.net.InetSocketAddress[] java.lang.Throwable
      StackMap stack: java.lang.Throwable
            astore 9
        46: .line 311
            aload 0 /* this */
            invokevirtual sun.nio.ch.UnixAsynchronousServerSocketChannelImpl.end:()V
        47: .line 312
            aload 9
            athrow
        48: .line 311
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.nio.ch.UnixAsynchronousServerSocketChannelImpl.end:()V
        49: .line 314
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 6 /* child */
        start local 6 // java.nio.channels.AsynchronousSocketChannel child
        50: .line 315
            aload 5 /* exc */
            ifnonnull 55
        51: .line 318
            aload 0 /* this */
            aload 3 /* newfd */
            aload 4 /* isaa */
            iconst_0
            aaload
            aconst_null
            invokevirtual sun.nio.ch.UnixAsynchronousServerSocketChannelImpl.finishAccept:(Ljava/io/FileDescriptor;Ljava/net/InetSocketAddress;Ljava/security/AccessControlContext;)Ljava/nio/channels/AsynchronousSocketChannel;
            astore 6 /* child */
        52: .line 319
            goto 55
      StackMap locals: sun.nio.ch.UnixAsynchronousServerSocketChannelImpl java.lang.Object java.nio.channels.CompletionHandler java.io.FileDescriptor java.net.InetSocketAddress[] java.lang.Throwable java.nio.channels.AsynchronousSocketChannel
      StackMap stack: java.lang.Throwable
        53: astore 7 /* x */
        start local 7 // java.lang.Throwable x
        54: .line 320
            aload 7 /* x */
            astore 5 /* exc */
        end local 7 // java.lang.Throwable x
        55: .line 325
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.nio.ch.UnixAsynchronousServerSocketChannelImpl.enableAccept:()V
        56: .line 327
            aload 2 /* handler */
            ifnonnull 58
        57: .line 328
            aload 6 /* child */
            aload 5 /* exc */
            invokestatic sun.nio.ch.CompletedFuture.withResult:(Ljava/lang/Object;Ljava/lang/Throwable;)Lsun/nio/ch/CompletedFuture;
            areturn
        58: .line 330
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* handler */
            aload 1 /* att */
            aload 6 /* child */
            aload 5 /* exc */
            invokestatic sun.nio.ch.Invoker.invokeIndirectly:(Ljava/nio/channels/AsynchronousChannel;Ljava/nio/channels/CompletionHandler;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Throwable;)V
        59: .line 331
            aconst_null
            areturn
        end local 6 // java.nio.channels.AsynchronousSocketChannel child
        end local 5 // java.lang.Throwable exc
        end local 4 // java.net.InetSocketAddress[] isaa
        end local 3 // java.io.FileDescriptor newfd
        end local 2 // java.nio.channels.CompletionHandler handler
        end local 1 // java.lang.Object att
        end local 0 // sun.nio.ch.UnixAsynchronousServerSocketChannelImpl this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   60     0     this  Lsun/nio/ch/UnixAsynchronousServerSocketChannelImpl;
            0   60     1      att  Ljava/lang/Object;
            0   60     2  handler  Ljava/nio/channels/CompletionHandler<Ljava/nio/channels/AsynchronousSocketChannel;Ljava/lang/Object;>;
            2    6     3        e  Ljava/lang/Throwable;
           13   60     3    newfd  Ljava/io/FileDescriptor;
           14   60     4     isaa  [Ljava/net/InetSocketAddress;
           15   60     5      exc  Ljava/lang/Throwable;
           17   40     6        n  I
           19   40     7   result  Lsun/nio/ch/PendingFuture<Ljava/nio/channels/AsynchronousSocketChannel;Ljava/lang/Object;>;
           41   44     6        x  Ljava/lang/Throwable;
           50   60     6    child  Ljava/nio/channels/AsynchronousSocketChannel;
           54   55     7        x  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          20    33      34  any
          34    35      34  any
          15    38      40  Class java.lang.Throwable
          15    38      45  any
          40    44      45  any
          51    52      53  Class java.lang.Throwable
    Signature: (Ljava/lang/Object;Ljava/nio/channels/CompletionHandler<Ljava/nio/channels/AsynchronousSocketChannel;Ljava/lang/Object;>;)Ljava/util/concurrent/Future<Ljava/nio/channels/AsynchronousSocketChannel;>;
    MethodParameters:
         Name  Flags
      att      
      handler  

  private static native void initIDs();
    descriptor: ()V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE

  private native int accept0(java.io.FileDescriptor, java.io.FileDescriptor, java.net.InetSocketAddress[]);
    descriptor: (Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;[Ljava/net/InetSocketAddress;)I
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      ssfd   
      newfd  
      isaa   
}
SourceFile: "UnixAsynchronousServerSocketChannelImpl.java"
NestMembers:
  sun.nio.ch.UnixAsynchronousServerSocketChannelImpl$1
InnerClasses:
  abstract PollableChannel = sun.nio.ch.Port$PollableChannel of sun.nio.ch.Port
  sun.nio.ch.UnixAsynchronousServerSocketChannelImpl$1