From 7f9d894e1069306f7361201a77efbe7b866024ff Mon Sep 17 00:00:00 2001 From: Igor Sysoev Date: Fri, 14 Nov 2003 07:20:34 +0000 Subject: nginx-0.0.1-2003-11-14-10:20:34 import --- src/os/unix/ngx_recv.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'src/os/unix/ngx_recv.c') diff --git a/src/os/unix/ngx_recv.c b/src/os/unix/ngx_recv.c index 1a14fd963..e75937957 100644 --- a/src/os/unix/ngx_recv.c +++ b/src/os/unix/ngx_recv.c @@ -40,6 +40,8 @@ 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); @@ -78,11 +80,14 @@ ssize_t ngx_unix_recv(ngx_connection_t *c, char *buf, size_t size) } rev->ready = 0; - rev->error = 1; n = ngx_unix_recv_error(rev, ngx_socket_errno); } while (n == NGX_EINTR); + if (n == NGX_ERROR){ + rev->error = 1; + } + return n; } @@ -96,6 +101,8 @@ 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); @@ -113,11 +120,14 @@ ssize_t ngx_unix_recv(ngx_connection_t *c, char *buf, size_t size) } rev->ready = 0; - rev->error = 1; n = ngx_unix_recv_error(rev, ngx_socket_errno); } while (n == NGX_EINTR); + if (n == NGX_ERROR){ + rev->error = 1; + } + return n; } -- cgit v1.2.3