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() }