浏览代码

Raft HTTP: fix pause/resume race condition

(cherry picked from commit b1812a410fbca6fb77bf95b496408c7b75d0a370)
Nima Yahyazadeh 6 年之前
父节点
当前提交
9f1d6ca1c9
共有 1 个文件被更改,包括 4 次插入0 次删除
  1. 4 0
      rafthttp/transport.go

+ 4 - 0
rafthttp/transport.go

@@ -372,12 +372,16 @@ type Pausable interface {
 }
 
 func (t *Transport) Pause() {
+	t.mu.RLock()
+	defer t.mu.RUnlock()
 	for _, p := range t.peers {
 		p.(Pausable).Pause()
 	}
 }
 
 func (t *Transport) Resume() {
+	t.mu.RLock()
+	defer t.mu.RUnlock()
 	for _, p := range t.peers {
 		p.(Pausable).Resume()
 	}