From cf08ba72dba20f49ef71ce394511734f5eddbd61 Mon Sep 17 00:00:00 2001 From: Valentin Bartenev Date: Thu, 5 Sep 2013 16:53:02 +0400 Subject: [PATCH] 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. --- src/os/unix/ngx_readv_chain.c | 1 + src/os/unix/ngx_recv.c | 1 + 2 files changed, 2 insertions(+) diff --git a/src/os/unix/ngx_readv_chain.c b/src/os/unix/ngx_readv_chain.c index c2c21b407..8836c817d 100644 --- a/src/os/unix/ngx_readv_chain.c +++ b/src/os/unix/ngx_readv_chain.c @@ -129,6 +129,7 @@ ngx_readv_chain(ngx_connection_t *c, ngx_chain_t *chain) "%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 1640cdb27..86675dfdd 100644 --- a/src/os/unix/ngx_recv.c +++ b/src/os/unix/ngx_recv.c @@ -80,6 +80,7 @@ ngx_unix_recv(ngx_connection_t *c, u_char *buf, size_t size) * even if kqueue reported about available data */ + rev->ready = 0; rev->eof = 1; rev->available = 0; }