Use whenComplete(...) when register child channel

This commit is contained in:
Norman Maurer 2017-07-04 21:04:51 +02:00
parent 65fa14dc45
commit 354fd7f623
1 changed files with 8 additions and 6 deletions

View File

@ -582,13 +582,15 @@ final class ServerSocketChannel : BaseSocketChannel<ServerSocket> {
let ch = data.forceAsOther() as SocketChannel
let f = ch.register()
f.whenFailure(callback: { err in
_ = ch.close()
f.whenComplete(callback: { v in
switch v {
case .failure(_):
ch.close(promise: nil)
case .success(_):
ch.pipeline.fireChannelActive0()
ch.readIfNeeded0()
}
})
f.whenSuccess { () -> Void in
ch.pipeline.fireChannelActive0()
ch.readIfNeeded0()
}
}
}