浏览代码

the list of hosts can be empty

Chris Bannister 10 年之前
父节点
当前提交
be24db38e1
共有 1 个文件被更改,包括 3 次插入0 次删除
  1. 3 0
      ring.go

+ 3 - 0
ring.go

@@ -26,6 +26,9 @@ func (r *ring) rrHost() *HostInfo {
 	// for the control connection, should we also provide an iterator?
 	// for the control connection, should we also provide an iterator?
 	r.mu.RLock()
 	r.mu.RLock()
 	defer r.mu.RUnlock()
 	defer r.mu.RUnlock()
+	if len(r.hostList) == 0 {
+		return nil
+	}
 
 
 	pos := int(atomic.AddUint32(&r.pos, 1) - 1)
 	pos := int(atomic.AddUint32(&r.pos, 1) - 1)
 	return r.hostList[pos%len(r.hostList)]
 	return r.hostList[pos%len(r.hostList)]