mirror of
https://github.com/mirror/wget.git
synced 2025-03-26 12:06:06 +08:00
gnutls: Check for the GNUTLS_E_AGAIN return code.
This commit is contained in:
parent
d18b9749d9
commit
96c3ec36c2
@ -1,3 +1,10 @@
|
|||||||
|
2011-04-07 Ray Satiro <raysatiro@yahoo.com> (tiny change)
|
||||||
|
|
||||||
|
(wgnutls_read): Check for the GNUTLS_E_AGAIN return code in the recv
|
||||||
|
tight loop.
|
||||||
|
(wgnutls_write): Likewise.
|
||||||
|
(wgnutls_peek): Likewise.
|
||||||
|
|
||||||
2011-04-07 Giuseppe Scrivano <gscrivano@gnu.org>
|
2011-04-07 Giuseppe Scrivano <gscrivano@gnu.org>
|
||||||
|
|
||||||
* gnutls.c (wgnutls_peek): New local variable `read'.
|
* gnutls.c (wgnutls_peek): New local variable `read'.
|
||||||
|
@ -141,7 +141,7 @@ wgnutls_read (int fd, char *buf, int bufsize, void *arg)
|
|||||||
|
|
||||||
do
|
do
|
||||||
ret = gnutls_record_recv (ctx->session, buf, bufsize);
|
ret = gnutls_record_recv (ctx->session, buf, bufsize);
|
||||||
while (ret == GNUTLS_E_INTERRUPTED);
|
while (ret == GNUTLS_E_INTERRUPTED || ret == GNUTLS_E_AGAIN);
|
||||||
|
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
ctx->last_error = ret;
|
ctx->last_error = ret;
|
||||||
@ -156,7 +156,7 @@ wgnutls_write (int fd, char *buf, int bufsize, void *arg)
|
|||||||
struct wgnutls_transport_context *ctx = arg;
|
struct wgnutls_transport_context *ctx = arg;
|
||||||
do
|
do
|
||||||
ret = gnutls_record_send (ctx->session, buf, bufsize);
|
ret = gnutls_record_send (ctx->session, buf, bufsize);
|
||||||
while (ret == GNUTLS_E_INTERRUPTED);
|
while (ret == GNUTLS_E_INTERRUPTED || ret == GNUTLS_E_AGAIN);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
ctx->last_error = ret;
|
ctx->last_error = ret;
|
||||||
return ret;
|
return ret;
|
||||||
@ -205,7 +205,7 @@ wgnutls_peek (int fd, char *buf, int bufsize, void *arg)
|
|||||||
ret = gnutls_record_recv (ctx->session, buf + offset,
|
ret = gnutls_record_recv (ctx->session, buf + offset,
|
||||||
bufsize - offset);
|
bufsize - offset);
|
||||||
}
|
}
|
||||||
while (ret == GNUTLS_E_INTERRUPTED);
|
while (ret == GNUTLS_E_INTERRUPTED || ret == GNUTLS_E_AGAIN);
|
||||||
|
|
||||||
read = ret;
|
read = ret;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user