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
parent
ea3c7d1d31
commit
7ff1fa36f2
|
@ -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() {
|
go func() {
|
||||||
var paused bool
|
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 {
|
for {
|
||||||
select {
|
select {
|
||||||
case m := <-p.sendc:
|
case m := <-p.sendc:
|
||||||
|
|
Loading…
Reference in New Issue