diff src/os/unix/ngx_recv.c @ 188:0061d1f0908d

nginx-0.0.1-2003-11-18-11:04:34 import
author Igor Sysoev <igor@sysoev.ru>
date Tue, 18 Nov 2003 08:04:34 +0000
parents 1bf718ce0dde
children 05592fd7a436
line wrap: on
line diff
--- a/src/os/unix/ngx_recv.c
+++ b/src/os/unix/ngx_recv.c
@@ -40,8 +40,6 @@ ssize_t ngx_unix_recv(ngx_connection_t *
     }
 
     do {
-        rev->ready = 1;
-
         n = recv(c->fd, buf, size, 0);
 
         ngx_log_debug(c->log, "recv: %d:%d" _ n _ size);
@@ -79,11 +77,14 @@ ssize_t ngx_unix_recv(ngx_connection_t *
             return n;
         }
 
-        rev->ready = 0;
         n = ngx_unix_recv_error(rev, ngx_socket_errno);
 
     } while (n == NGX_EINTR);
 
+    /* NGX_ERROR || NGX_AGAIN */
+
+    rev->ready = 0;
+
     if (n == NGX_ERROR){
         rev->error = 1;
     }
@@ -101,8 +102,6 @@ ssize_t ngx_unix_recv(ngx_connection_t *
     rev = c->read;
 
     do {
-        rev->ready = 1;
-
         n = recv(c->fd, buf, size, 0);
 
         ngx_log_debug(c->log, "recv: %d:%d" _ n _ size);
@@ -119,11 +118,14 @@ ssize_t ngx_unix_recv(ngx_connection_t *
             return n;
         }
 
-        rev->ready = 0;
         n = ngx_unix_recv_error(rev, ngx_socket_errno);
 
     } while (n == NGX_EINTR);
 
+    /* NGX_ERROR || NGX_AGAIN */
+
+    rev->ready = 0;
+
     if (n == NGX_ERROR){
         rev->error = 1;
     }