protected void closeAction() throws IOException { synchronized (connectionLock) { // Commence phase one shutdown actions int res; do { res = resourceCount; } while (! resourceCountUpdater.compareAndSet(this, res, res | CLOSED_FLAG)); if (res == 0) { finishPhase1(); } else { for (Object connection : connections.toArray()) { ((ConnectionImpl)connection).closeAsync(); } for (ProtocolRegistration protocolRegistration : connectionProviders.values()) { protocolRegistration.getProvider().closeAsync(); } } } }
protected void closeAction() throws IOException { try { provider.closeAsync(); } finally { super.closeAction(); } } };
protected void closeAction() throws IOException { synchronized (connectionLock) { // Commence phase one shutdown actions int res; do { res = resourceCount; } while (! resourceCountUpdater.compareAndSet(this, res, res | CLOSED_FLAG)); if (res == 0) { finishPhase1(); } else { for (Object connection : connections.toArray()) { ((ConnectionImpl)connection).closeAsync(); } for (ConnectionProvider connectionProvider : connectionProviders.values()) { connectionProvider.closeAsync(); } } } }
protected void closeAction() throws IOException { synchronized (connectionLock) { // Commence phase one shutdown actions int res; do { res = resourceCount; } while (! resourceCountUpdater.compareAndSet(this, res, res | CLOSED_FLAG)); if (res == 0) { finishPhase1(); } else { for (Object connection : connections.toArray()) { ((ConnectionImpl)connection).closeAsync(); } for (ProtocolRegistration protocolRegistration : connectionProviders.values()) { protocolRegistration.getProvider().closeAsync(); } } } }