func (c Closers) CloseAll() errors.Errors { errs := errors.Errors{} for _, cl := range c { if cl != nil { errs.Add(cl.Close()) } } return errs }
func (s *client) Close() error { s.in.stop.Close() s.out.stop.Close() errs := errors.Errors{} errs.Add(<-s.in.errs) errs.Add(<-s.out.errs) return errs.Result() }
func (s *server) Close() error { s.in.stop.Close() s.out.stop.Close() errs := errors.Errors{} errs.Add(<-s.out.errs) errs.Add(<-s.in.errs) if err := os.Remove(s.in.name); !os.IsNotExist(err) { errs.Add(err) } if err := os.Remove(s.out.name); !os.IsNotExist(err) { errs.Add(err) } return errs.Result() }