             throw err
         }
         self.group = group
-        super.init(socket: serverSocket, eventLoop: eventLoop)
+        try super.init(socket: serverSocket, eventLoop: eventLoop)
     }
 
     override fileprivate func setOption0<T: ChannelOption>(option: T, value: T.OptionType) throws {

            guard !closed else {
                return
            }
            if let bytesRead = try buffer.withMutableWritePointer { try (self.socket as! Socket).read(pointer: $0, size: $1) } {
                if bytesRead > 0 {
                    recvAllocator.record(actualReadBytes: bytesRead)


            throw err
        }
        
        try super.init(socket: socket, eventLoop: eventLoop)
    }
    
    fileprivate override init(socket: Socket, eventLoop: SelectableEventLoop) throws {
        try socket.setNonBlocking()
        try super.init(socket: socket, eventLoop: eventLoop)
    }
    
    override fileprivate func readFromSocket() throws {
