# HG changeset patch # User Valentin Bartenev # Date 1378385582 -14400 # Node ID ee78c7705a8e5933803f39c450c0970d25aa9643 # Parent 907f01a2a7c04e558dc3083c114a2e81cab28593 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 --- 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 "%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 --- 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_cha * even if kqueue reported about available data */ + rev->ready = 0; rev->eof = 1; rev->available = 0; }