Browse Source

Merge pull request #507 from dancannon/fix-deadlock

Fix deadlock with HostPoolHostPolicy
Chris Bannister 10 years ago
parent
commit
afeba057ff
1 changed files with 2 additions and 2 deletions
  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
 		}