diff --git a/etcd/embed.go b/etcd/embed.go index 4b68e762a..e574062e1 100644 --- a/etcd/embed.go +++ b/etcd/embed.go @@ -103,9 +103,9 @@ func (e *Etcd) Close() error { if e.heartbeatCancel != nil { e.heartbeatCancel() } - e.e.Server.Stop() - e.e.Close() - <-e.e.Server.StopNotify() + // e.e.Server.Stop() + // e.e.Close() + // <-e.e.Server.StopNotify() } return nil diff --git a/server.go b/server.go index 034b5045f..375c2cb96 100644 --- a/server.go +++ b/server.go @@ -692,9 +692,9 @@ func (s *Server) Close() error { errc = s.cluster.close() } errhs = s.syncer.stopTranslationSync() - // if s.disCo != nil { - // errd = s.disCo.Close() - // } + if s.disCo != nil { + errd = s.disCo.Close() + } if s.holder != nil { errh = s.holder.Close() } diff --git a/test/port/port_mapper.go b/test/port/port_mapper.go index ab276e604..78ae2d8f2 100644 --- a/test/port/port_mapper.go +++ b/test/port/port_mapper.go @@ -19,6 +19,7 @@ import ( "log" "net" "strings" + "sync" "syscall" ) @@ -31,7 +32,12 @@ func GetPort(wrapper func(int) error, retries int) error { return GetPorts(f, 1, retries) } +var mu = &sync.Mutex{} + func GetPorts(wrapper func([]int) error, requestedPorts, retries int) error { + mu.Lock() + defer mu.Unlock() + for i := 0; i < retries; i++ { // get all requested ports listeners := make([]net.Listener, requestedPorts)