aboutsummaryrefslogtreecommitdiff
path: root/src/os/unix/ngx_recv.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/os/unix/ngx_recv.c')
-rw-r--r--src/os/unix/ngx_recv.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/src/os/unix/ngx_recv.c b/src/os/unix/ngx_recv.c
index e75937957..7cb949a77 100644
--- 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 *c, char *buf, size_t size)
}
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 *c, char *buf, size_t size)
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 *c, char *buf, size_t size)
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 *c, char *buf, size_t size)
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;
}