From: Daniel Stenberg Date: Thu, 30 Jan 2014 13:31:05 +0000 (+0100) Subject: http2: fix EWOULDBLOCK in recv_callback() X-Git-Tag: curl-7_36_0~267 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=93f473c78ade963f2c32ee51185cb450dc03a3b5;p=curl http2: fix EWOULDBLOCK in recv_callback() --- diff --git a/lib/http2.c b/lib/http2.c index a5b01e35d..d00e53759 100644 --- a/lib/http2.c +++ b/lib/http2.c @@ -124,12 +124,16 @@ static ssize_t recv_callback(nghttp2_session *h2, (void)h2; (void)flags; - if(rc) { - failf(conn->data, "Failed receiving HTTP2 data"); + if(CURLE_AGAIN == rc) { + infof(conn->data, "recv_callback() returns NGHTTP2_ERR_WOULDBLOCK\n"); + return NGHTTP2_ERR_WOULDBLOCK; + } + else if(rc) { + failf(conn->data, "Failed receiving HTTP2 data: %d", rc); return NGHTTP2_ERR_CALLBACK_FAILURE; } - if(!nread) - return NGHTTP2_ERR_WOULDBLOCK; + else + infof(conn->data, "recv_callback() returns %d to nghttp2\n", nread); return nread; }