fix globalRPC goroutine leak
Signed-off-by: Wei Wei <weiwei.inf@gmail.com>
This commit is contained in:
parent
b89135fe77
commit
04531ff0fb
|
@ -307,11 +307,13 @@ func (s *Server) forwardDC(method, dc string, args interface{}, reply interface{
|
|||
func (s *Server) globalRPC(method string, args interface{},
|
||||
reply structs.CompoundResponse) error {
|
||||
|
||||
errorCh := make(chan error)
|
||||
respCh := make(chan interface{})
|
||||
|
||||
// Make a new request into each datacenter
|
||||
dcs := s.router.GetDatacenters()
|
||||
|
||||
replies, total := 0, len(dcs)
|
||||
errorCh := make(chan error, total)
|
||||
respCh := make(chan interface{}, total)
|
||||
|
||||
for _, dc := range dcs {
|
||||
go func(dc string) {
|
||||
rr := reply.New()
|
||||
|
@ -323,7 +325,6 @@ func (s *Server) globalRPC(method string, args interface{},
|
|||
}(dc)
|
||||
}
|
||||
|
||||
replies, total := 0, len(dcs)
|
||||
for replies < total {
|
||||
select {
|
||||
case err := <-errorCh:
|
||||
|
|
Loading…
Reference in a new issue