diff src/os/unix/ngx_recv.c @ 148:5afee0074707

nginx-0.0.1-2003-10-17-00:19:16 import
author Igor Sysoev <igor@sysoev.ru>
date Thu, 16 Oct 2003 20:19:16 +0000
parents ef8c87afcfc5
children fb61ba77beba
line wrap: on
line diff
--- a/src/os/unix/ngx_recv.c	Tue Oct 14 15:06:38 2003 +0000
+++ b/src/os/unix/ngx_recv.c	Thu Oct 16 20:19:16 2003 +0000
@@ -22,8 +22,8 @@
 
         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 @@
             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;
                     }