Explorar el Código

Merge pull request #507 from dancannon/fix-deadlock

Fix deadlock with HostPoolHostPolicy
Chris Bannister hace 10 años
padre
commit
afeba057ff
Se han modificado 1 ficheros con 2 adiciones y 2 borrados
  1. 2 2
      policies.go

+ 2 - 2
policies.go

@@ -300,15 +300,15 @@ func (r *hostPoolHostPolicy) SetPartitioner(partitioner string) {
 func (r *hostPoolHostPolicy) Pick(qry *Query) NextHost {
 	return func() SelectedHost {
 		r.mu.RLock()
+		defer r.mu.RUnlock()
+
 		if len(r.hostMap) == 0 {
-			r.mu.RUnlock()
 			return nil
 		}
 
 		hostR := r.hp.Get()
 		host, ok := r.hostMap[hostR.Host()]
 		if !ok {
-			r.mu.RUnlock()
 			return nil
 		}