Close the header channel if a stream is reset while waiting for headers.

This commit is contained in:
Andrew Pritchard 2015-07-26 13:16:03 -07:00
Родитель d4a3879538
Коммит 7555ac5659
1 изменённых файлов: 4 добавлений и 0 удалений

Просмотреть файл

@ -578,6 +578,10 @@ func (t *http2Client) handleRSTStream(f *http2.RSTStreamFrame) {
return
}
s.state = streamDone
if !s.headerDone {
close(s.headerChan)
s.headerDone = true
}
s.statusCode, ok = http2RSTErrConvTab[http2.ErrCode(f.ErrCode)]
if !ok {
grpclog.Println("transport: http2Client.handleRSTStream found no mapped gRPC status for the received http2 error ", f.ErrCode)