aboutsummaryrefslogtreecommitdiff
path: root/src/os/unix/ngx_recv.c
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2003-10-16 20:19:16 +0000
committerIgor Sysoev <igor@sysoev.ru>2003-10-16 20:19:16 +0000
commitd404c9716322cfe8778e7494e55efb924f35ecaa (patch)
tree1501d7225b9c5f9f8cb7d87ece670bd5f9238b59 /src/os/unix/ngx_recv.c
parente4aabac04e078f07dce73e90847ef02d74facbe2 (diff)
downloadnginx-d404c9716322cfe8778e7494e55efb924f35ecaa.tar.gz
nginx-d404c9716322cfe8778e7494e55efb924f35ecaa.zip
nginx-0.0.1-2003-10-17-00:19:16 import
Diffstat (limited to 'src/os/unix/ngx_recv.c')
-rw-r--r--src/os/unix/ngx_recv.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/os/unix/ngx_recv.c b/src/os/unix/ngx_recv.c
index cef432821..e61cc333f 100644
--- a/src/os/unix/ngx_recv.c
+++ b/src/os/unix/ngx_recv.c
@@ -22,8 +22,8 @@ ssize_t ngx_unix_recv(ngx_connection_t *c, char *buf, size_t size)
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 @@ ssize_t ngx_unix_recv(ngx_connection_t *c, char *buf, size_t size)
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;
}