From d404c9716322cfe8778e7494e55efb924f35ecaa Mon Sep 17 00:00:00 2001 From: Igor Sysoev Date: Thu, 16 Oct 2003 20:19:16 +0000 Subject: nginx-0.0.1-2003-10-17-00:19:16 import --- src/os/unix/ngx_recv.c | 7 +++++-- 1 file changed, 5 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 cef432821..e61cc333f 100644 --- a/src/os/unix/ngx_recv.c +++ b/src/os/unix/ngx_recv.c @@ -22,8 +22,8 @@ ssize_t ngx_unix_recv(ngx_connection_t *c, char *buf, size_t size) if (rev->available == 0) { if (rev->eof) { + rev->ready = 0; if (rev->error) { - rev->ready = 0; ngx_set_socket_errno(rev->error); return ngx_unix_recv_error(rev, rev->error); } @@ -44,7 +44,10 @@ ssize_t ngx_unix_recv(ngx_connection_t *c, char *buf, size_t size) if (ngx_event_flags & NGX_HAVE_KQUEUE_EVENT) { rev->available -= n; if (rev->available <= 0) { - rev->ready = 0; + if (!rev->eof) { + rev->ready = 0; + } + if (rev->available < 0) { rev->available = 0; } -- cgit