rafthttp: always init streamReader before return from newPeer

Or etcd will panic if someone calls `setTerm()`, which uses streamReader
internally, before streamReader is inited.
release-2.1
Yicheng Qin 2015-06-12 13:00:41 -07:00
parent ea3c7d1d31
commit 7ff1fa36f2
1 changed files with 2 additions and 2 deletions

View File

@ -143,10 +143,10 @@ func startPeer(tr http.RoundTripper, urls types.URLs, local, to, cid types.ID, r
}
}()
p.msgAppReader = startStreamReader(tr, picker, streamTypeMsgAppV2, local, to, cid, status, p.recvc, p.propc, errorc)
reader := startStreamReader(tr, picker, streamTypeMessage, local, to, cid, status, p.recvc, p.propc, errorc)
go func() {
var paused bool
p.msgAppReader = startStreamReader(tr, picker, streamTypeMsgAppV2, local, to, cid, status, p.recvc, p.propc, errorc)
reader := startStreamReader(tr, picker, streamTypeMessage, local, to, cid, status, p.recvc, p.propc, errorc)
for {
select {
case m := <-p.sendc: