X-Git-Url: http://sjero.net/git/?p=wget;a=blobdiff_plain;f=src%2Fopenssl.c;fp=src%2Fopenssl.c;h=201d24597995bbba66460fe709dcbb5f281dc9c3;hp=60e794f6dbcb4bbc112f45bccb8989c15c1916db;hb=6dca252c60d88e43e0430170e8ae0f3c4cf5d8b7;hpb=4d564bd6309496f8b28a44cfb9db702907fbfa6f diff --git a/src/openssl.c b/src/openssl.c index 60e794f6..201d2459 100644 --- a/src/openssl.c +++ b/src/openssl.c @@ -261,8 +261,10 @@ openssl_read (int fd, char *buf, int bufsize, void *arg) do ret = SSL_read (conn, buf, bufsize); while (ret == -1 - && SSL_get_error (conn, ret) == SSL_ERROR_SYSCALL - && errno == EINTR); + && (SSL_get_error (conn, ret) == SSL_ERROR_WANT_READ + || (SSL_get_error (conn, ret) == SSL_ERROR_SYSCALL + && errno == EINTR))); + return ret; }