示例#1
0
文件: closer.go 项目: toshaf/remora
func (c Closers) CloseAll() errors.Errors {
	errs := errors.Errors{}
	for _, cl := range c {
		if cl != nil {
			errs.Add(cl.Close())
		}
	}

	return errs
}
示例#2
0
文件: client.go 项目: toshaf/remora
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
文件: server.go 项目: toshaf/remora
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()
}