diff --git a/plugins/gevent/gevent.c b/plugins/gevent/gevent.c index 263ad7b5..d3fcd717 100644 --- a/plugins/gevent/gevent.c +++ b/plugins/gevent/gevent.c @@ -253,7 +253,8 @@ ssize_t uwsgi_gevent_hook_input_read(struct wsgi_request *wsgi_req, char *tmp_bu UWSGI_RELEASE_GIL; ssize_t rlen = read(wsgi_req->poll.fd, tmp_buf+*tmp_pos, remains); if (rlen <= 0) { - uwsgi_error("[uwsgi-gevent] read()"); + if (rlen < 0) + uwsgi_error("[uwsgi-gevent] read()"); UWSGI_GET_GIL stop_the_watchers_and_clear return -1; diff --git a/plugins/http/http.c b/plugins/http/http.c index aa57b583..8538fceb 100644 --- a/plugins/http/http.c +++ b/plugins/http/http.c @@ -520,8 +520,12 @@ ssize_t hr_read_ssl_body(struct corerouter_session * cs) { } int ret2 = SSL_pending(hs->ssl); if (ret2 > 0) { - if (uwsgi_buffer_fix(hs->post_buf, hs->post_buf->len + ret2 )) return -1; + if (uwsgi_buffer_fix(hs->post_buf, hs->post_buf->len + ret2 )) { + uwsgi_log("[uwsgi-https] cannot fix the buffer to %d\n", hs->post_buf->len + ret2); + return -1; + } if (SSL_read(hs->ssl, hs->post_buf->buf + ret, ret2) != ret2) { + uwsgi_log("[uwsgi-https] SSL_read() on %d bytes of pending data failed\n", ret2); return -1; } ret += ret2; @@ -916,7 +920,10 @@ ssize_t hr_recv_http_ssl(struct corerouter_session * cs) { // be sure buffer does not grow over 64k cs->buffer->limit = UMAX16; // try to always leave 4k available - if (uwsgi_buffer_ensure(cs->buffer, uwsgi.page_size)) return -1; + if (uwsgi_buffer_ensure(cs->buffer, uwsgi.page_size)) { + uwsgi_log("[uwsgi-https] cannot ensure the buffer (size: %d)\n", cs->buffer->len); + return -1; + } struct http_session *hs = (struct http_session *) cs; int ret = SSL_read(hs->ssl, cs->buffer->buf + cs->buffer_pos, cs->buffer->len - cs->buffer_pos); if (ret > 0) { @@ -927,8 +934,12 @@ ssize_t hr_recv_http_ssl(struct corerouter_session * cs) { } int ret2 = SSL_pending(hs->ssl); if (ret2 > 0) { - if (uwsgi_buffer_fix(cs->buffer, cs->buffer->len + ret2 )) return -1; + if (uwsgi_buffer_fix(cs->buffer, cs->buffer->len + ret2 )) { + uwsgi_log("[uwsgi-https] cannot fix the buffer to %d\n", cs->buffer->len + ret2 ); + return -1; + } if (SSL_read(hs->ssl, cs->buffer->buf + cs->buffer_pos + ret, ret2) != ret2) { + uwsgi_log("[uwsgi-https] SSL_read() on %d bytes of pending data failed\n", ret2); return -1; } ret += ret2;