From 9b2081cd39613bef19f7680900e51c428687e5ea Mon Sep 17 00:00:00 2001 From: Jakub Martin Date: Thu, 28 Jul 2016 17:01:34 +0200 Subject: [PATCH] Handling EOF when reading frame. --- transport/http2_server.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/transport/http2_server.go b/transport/http2_server.go index 38715c59..366398bb 100644 --- a/transport/http2_server.go +++ b/transport/http2_server.go @@ -239,6 +239,10 @@ func (t *http2Server) HandleStreams(handle func(*Stream)) { } frame, err := t.framer.readFrame() + if err == io.EOF || err == io.ErrUnexpectedEOF { + t.Close() + return + } if err != nil { grpclog.Printf("transport: http2Server.HandleStreams failed to read frame: %v", err) t.Close() @@ -265,6 +269,10 @@ func (t *http2Server) HandleStreams(handle func(*Stream)) { t.controlBuf.put(&resetStream{se.StreamID, se.Code}) continue } + if err == io.EOF || err == io.ErrUnexpectedEOF { + t.Close() + return + } grpclog.Printf("transport: http2Server.HandleStreams failed to read frame: %v", err) t.Close() return