summaryrefslogtreecommitdiffstats
path: root/usr.sbin/nginx/src/os/unix/ngx_recv.c
diff options
context:
space:
mode:
Diffstat (limited to 'usr.sbin/nginx/src/os/unix/ngx_recv.c')
-rw-r--r--usr.sbin/nginx/src/os/unix/ngx_recv.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/usr.sbin/nginx/src/os/unix/ngx_recv.c b/usr.sbin/nginx/src/os/unix/ngx_recv.c
index 6a4a0996624..86675dfdd8f 100644
--- a/usr.sbin/nginx/src/os/unix/ngx_recv.c
+++ b/usr.sbin/nginx/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;
}
@@ -87,7 +88,9 @@ ngx_unix_recv(ngx_connection_t *c, u_char *buf, size_t size)
return n;
}
- if ((size_t) n < size) {
+ if ((size_t) n < size
+ && !(ngx_event_flags & NGX_USE_GREEDY_EVENT))
+ {
rev->ready = 0;
}