diff options
author | Igor Sysoev <igor@sysoev.ru> | 2003-11-14 07:20:34 +0000 |
---|---|---|
committer | Igor Sysoev <igor@sysoev.ru> | 2003-11-14 07:20:34 +0000 |
commit | 7f9d894e1069306f7361201a77efbe7b866024ff (patch) | |
tree | 9779ce5dd7d38af4c8039047768cedc92c31ec1f /src/os/unix/ngx_recv.c | |
parent | 45890ea8c13a561fe3fd66bf639ad429f3c18846 (diff) | |
download | nginx-7f9d894e1069306f7361201a77efbe7b866024ff.tar.gz nginx-7f9d894e1069306f7361201a77efbe7b866024ff.zip |
nginx-0.0.1-2003-11-14-10:20:34 import
Diffstat (limited to 'src/os/unix/ngx_recv.c')
-rw-r--r-- | src/os/unix/ngx_recv.c | 14 |
1 files changed, 12 insertions, 2 deletions
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; } |