소스 검색

Raft HTTP: fix pause/resume race condition

Nima Yahyazadeh 6 년 전
부모
커밋
b1812a410f
1개의 변경된 파일4개의 추가작업 그리고 0개의 파일을 삭제
  1. 4 0
      etcdserver/api/rafthttp/transport.go

+ 4 - 0
etcdserver/api/rafthttp/transport.go

@@ -437,12 +437,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()
 	}