]> sjero.net Git - wget/blobdiff - src/gnutls.c
Use correctly FIONBIO values.
[wget] / src / gnutls.c
index 50957e5c3e74c87dc9f707f789590502d31dec51..a1054a4d89c9804dd3f31b794e22924c2b7a022b 100644 (file)
@@ -197,20 +197,13 @@ wgnutls_peek (int fd, char *buf, int bufsize, void *arg)
         return ret;
 #else
       /* XXX: Assume it was blocking before.  */
-      const int zero = 0;
-      ret = ioctl (fd, FIONBIO, &zero);
+      const int one = 1;
+      ret = ioctl (fd, FIONBIO, &one);
       if (ret < 0)
         return ret;
 #endif
-      do
-        {
-          ret = gnutls_record_recv (ctx->session, buf + offset,
-                                     bufsize - offset);
-        }
-      while (ret == GNUTLS_E_INTERRUPTED || ret == GNUTLS_E_AGAIN);
-
-      read = ret;
-
+      read = gnutls_record_recv (ctx->session, buf + offset,
+                                 bufsize - offset);
       if (read < 0)
         {
           if (offset)
@@ -231,8 +224,8 @@ wgnutls_peek (int fd, char *buf, int bufsize, void *arg)
       if (ret < 0)
         return ret;
 #else
-      const int one = 1;
-      ret = ioctl (fd, FIONBIO, &one);
+      const int zero = 0;
+      ret = ioctl (fd, FIONBIO, &zero);
       if (ret < 0)
         return ret;
 #endif