]> granicus.if.org Git - curl/commitdiff
Kevin Delafield reported another case where we didn't correctly check for
authorDaniel Stenberg <daniel@haxx.se>
Tue, 6 May 2003 08:19:36 +0000 (08:19 +0000)
committerDaniel Stenberg <daniel@haxx.se>
Tue, 6 May 2003 08:19:36 +0000 (08:19 +0000)
 EAGAIN but only EWOULDBLOCK, which caused badness on HPUX. We also check for
 and act the same on EINTR errors as well now.

lib/sendf.c

index 94927c28cad0540033b48db6ba8ddab30f909b97..1538061e8440353531478e1fc3063de4ff72ba3e 100644 (file)
@@ -278,7 +278,7 @@ CURLcode Curl_write(struct connectdata *conn, int sockfd,
          may be EWOULDBLOCK or on some systems EAGAIN when it returned
          due to its inability to send off data without blocking. We
          therefor treat both error codes the same here */
-      if((EWOULDBLOCK == err) || (EAGAIN == err))
+      if((EWOULDBLOCK == err) || (EAGAIN == err) || (EINTR == err))
 #endif
       {
         /* this is just a case of EWOULDBLOCK */
@@ -399,7 +399,7 @@ int Curl_read(struct connectdata *conn,
 #ifdef WIN32
       if(WSAEWOULDBLOCK == err)
 #else
-      if(EWOULDBLOCK == err)
+      if((EWOULDBLOCK == err) || (EAGAIN == err) || (EINTR == err))
 #endif
         return -1;
     }