func (ci *ConnInfo) serveChans(conn ssh.Conn, chans <-chan ssh.NewChannel) (err error) { defer ci.wg.Done() defer conn.Close() log.Debug("chans begin.") for newChan := range chans { chi := CreateChanInfo(ci) err = chi.Serve(conn, newChan) if err != nil { log.Error("%s", err.Error()) } } log.Debug("chans ends.") return }