Mercurial > hg > nginx-vendor-1-0
comparison src/os/unix/ngx_recv.c @ 4:4b2dafa26fe2 NGINX_0_1_2
nginx 0.1.2
*) Feature: the --user=USER, --group=GROUP, and --with-ld-opt=OPTIONS
options in configure.
*) Feature: the server_name directive supports *.domain.tld.
*) Bugfix: the portability improvements.
*) Bugfix: if configuration file was set in command line, the
reconfiguration was impossible; bug appeared in 0.1.1.
*) Bugfix: proxy module may get caught in an endless loop when sendfile
is not used.
*) Bugfix: with sendfile the response was not recoded according to the
charset module directives; bug appeared in 0.1.1.
*) Bugfix: very seldom bug in the kqueue processing.
*) Bugfix: the gzip module compressed the proxied responses that was
already compressed.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Thu, 21 Oct 2004 00:00:00 +0400 |
parents | f0b350454894 |
children | 6f8b0dc0f8dd |
comparison
equal
deleted
inserted
replaced
3:8beaf7b3241f | 4:4b2dafa26fe2 |
---|---|
17 ngx_err_t err; | 17 ngx_err_t err; |
18 ngx_event_t *rev; | 18 ngx_event_t *rev; |
19 | 19 |
20 rev = c->read; | 20 rev = c->read; |
21 | 21 |
22 if (ngx_event_flags & NGX_HAVE_KQUEUE_EVENT) { | 22 if (ngx_event_flags & NGX_USE_KQUEUE_EVENT) { |
23 ngx_log_debug3(NGX_LOG_DEBUG_EVENT, c->log, 0, | 23 ngx_log_debug3(NGX_LOG_DEBUG_EVENT, c->log, 0, |
24 "recv: eof:%d, avail:%d, err:%d", | 24 "recv: eof:%d, avail:%d, err:%d", |
25 rev->pending_eof, rev->available, rev->kq_errno); | 25 rev->pending_eof, rev->available, rev->kq_errno); |
26 | 26 |
27 if (rev->available == 0) { | 27 if (rev->available == 0) { |
58 | 58 |
59 ngx_log_debug3(NGX_LOG_DEBUG_EVENT, c->log, 0, | 59 ngx_log_debug3(NGX_LOG_DEBUG_EVENT, c->log, 0, |
60 "recv: fd:%d %d of %d", c->fd, n, size); | 60 "recv: fd:%d %d of %d", c->fd, n, size); |
61 | 61 |
62 if (n >= 0) { | 62 if (n >= 0) { |
63 if (ngx_event_flags & NGX_HAVE_KQUEUE_EVENT) { | 63 if (ngx_event_flags & NGX_USE_KQUEUE_EVENT) { |
64 rev->available -= n; | 64 rev->available -= n; |
65 | 65 |
66 /* | 66 /* |
67 * rev->available can be negative here because some additional | 67 * rev->available can be negative here because some additional |
68 * bytes can be received between kevent() and recv() | 68 * bytes can be received between kevent() and recv() |
137 return n; | 137 return n; |
138 | 138 |
139 } else if (n > 0) { | 139 } else if (n > 0) { |
140 | 140 |
141 if ((size_t) n < size | 141 if ((size_t) n < size |
142 && !(ngx_event_flags & NGX_HAVE_GREEDY_EVENT)) | 142 && !(ngx_event_flags & NGX_USE_GREEDY_EVENT)) |
143 { | 143 { |
144 rev->ready = 0; | 144 rev->ready = 0; |
145 } | 145 } |
146 | 146 |
147 return n; | 147 return n; |