Fixed handling of the ready flag with kqueue. There is nothing to do more when recv() has returned 0, so we should drop the flag.
diff --git a/src/os/unix/ngx_readv_chain.c b/src/os/unix/ngx_readv_chain.c index c2c21b4..8836c81 100644 --- a/src/os/unix/ngx_readv_chain.c +++ b/src/os/unix/ngx_readv_chain.c
@@ -129,6 +129,7 @@ "%d available bytes", rev->available); #endif + rev->ready = 0; rev->eof = 1; rev->available = 0; }
diff --git a/src/os/unix/ngx_recv.c b/src/os/unix/ngx_recv.c index 1640cdb..86675df 100644 --- a/src/os/unix/ngx_recv.c +++ b/src/os/unix/ngx_recv.c
@@ -80,6 +80,7 @@ * even if kqueue reported about available data */ + rev->ready = 0; rev->eof = 1; rev->available = 0; }