X-Git-Url: http://sjero.net/git/?p=wget;a=blobdiff_plain;f=src%2Fgnutls.c;h=34a619ca610dc396c9f048a95989fa6f26955847;hp=1d6316298a6af8fff815ff5aeaa17f9acebef8d6;hb=96c3ec36c2e40682941a4ed41705405cbf07dba2;hpb=d18b9749d94b29856ceecfd30ebda958bd954f55 diff --git a/src/gnutls.c b/src/gnutls.c index 1d631629..34a619ca 100644 --- a/src/gnutls.c +++ b/src/gnutls.c @@ -141,7 +141,7 @@ wgnutls_read (int fd, char *buf, int bufsize, void *arg) do 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) ctx->last_error = ret; @@ -156,7 +156,7 @@ wgnutls_write (int fd, char *buf, int bufsize, void *arg) struct wgnutls_transport_context *ctx = arg; do 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) ctx->last_error = 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, bufsize - offset); } - while (ret == GNUTLS_E_INTERRUPTED); + while (ret == GNUTLS_E_INTERRUPTED || ret == GNUTLS_E_AGAIN); read = ret;