Commit b2a03763 authored by Daniel Stenberg's avatar Daniel Stenberg
Browse files

http2: drain the socket better...

... but ignore EAGAIN if the stream has ended so that we don't end up in
a loop. This is a follow-up to c8ab6131 in order to avoid the problem
d261652d was made to fix.

Reported-by: Jay Satiro
Clues-provided-by: Tatsuhiro Tsujikawa

Discussed in #750
parent 15cadb1f
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -1246,6 +1246,10 @@ static ssize_t http2_recv(struct connectdata *conn, int sockindex,
      if(nread == -1) {
        if(result != CURLE_AGAIN)
          failf(data, "Failed receiving HTTP2 data");
        else if(stream->closed)
          /* received when the stream was already closed! */
          return http2_handle_stream_close(conn, data, stream, err);

        *err = result;
        return -1;
      }