Пример #1
0
func (c Closers) CloseAll() errors.Errors {
	errs := errors.Errors{}
	for _, cl := range c {
		if cl != nil {
			errs.Add(cl.Close())
		}
	}

	return errs
}
Пример #2
0
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()
}
Пример #3
0
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()
}