Mercurial > hg > nginx-vendor-0-6
comparison src/event/modules/ngx_epoll_module.c @ 130:82d695e3d662 NGINX_0_3_12
nginx 0.3.12
*) Security: if nginx was built with the ngx_http_realip_module and the
"satisfy_any on" directive was used, then access and authorization
directives did not work. The ngx_http_realip_module was not built
and is not built by default.
*) Change: the "$time_gmt" variable name was changed to "$time_local".
*) Change: the "proxy_header_buffer_size" and
"fastcgi_header_buffer_size" directives was renamed to the
"proxy_buffer_size" and "fastcgi_buffer_size" directives.
*) Feature: the ngx_http_memcached_module.
*) Feature: the "proxy_buffering" directive.
*) Bugfix: the changes in accept mutex handling when the "rtsig" method
was used; bug appeared in 0.3.0.
*) Bugfix: if the client sent the "Transfer-Encoding: chunked" header
line, then nginx returns the 411 error.
*) Bugfix: if the "auth_basic" directive was inherited from the http
level, then the realm in the "WWW-Authenticate" header line was
without the "Basic realm" text.
*) Bugfix: if the "combined" format was explicitly specified in the
"access_log" directive, then the empty lines was written to the log;
bug appeared in 0.3.8.
*) Bugfix: nginx did not run on the sparc platform under any OS except
Solaris.
*) Bugfix: now it is not necessary to place space between the quoted
string and closing bracket in the "if" directive.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Sat, 26 Nov 2005 00:00:00 +0300 |
parents | df17fbafec8f |
children | 56688ed172c8 |
comparison
equal
deleted
inserted
replaced
129:a27c77ef3ad8 | 130:82d695e3d662 |
---|---|
239 } else { | 239 } else { |
240 op = EPOLL_CTL_ADD; | 240 op = EPOLL_CTL_ADD; |
241 } | 241 } |
242 | 242 |
243 ee.events = events | flags; | 243 ee.events = events | flags; |
244 ee.data.u64 = (uintptr_t) c | ev->instance; | 244 ee.data.ptr = (void *) ((uintptr_t) c | ev->instance); |
245 | 245 |
246 ngx_log_debug3(NGX_LOG_DEBUG_EVENT, ev->log, 0, | 246 ngx_log_debug3(NGX_LOG_DEBUG_EVENT, ev->log, 0, |
247 "epoll add event: fd:%d op:%d ev:%08XD", | 247 "epoll add event: fd:%d op:%d ev:%08XD", |
248 c->fd, op, ee.events); | 248 c->fd, op, ee.events); |
249 | 249 |
294 } | 294 } |
295 | 295 |
296 if (e->active) { | 296 if (e->active) { |
297 op = EPOLL_CTL_MOD; | 297 op = EPOLL_CTL_MOD; |
298 ee.events = prev | flags; | 298 ee.events = prev | flags; |
299 ee.data.u64 = (uintptr_t) c | ev->instance; | 299 ee.data.ptr = (void *) ((uintptr_t) c | ev->instance); |
300 | 300 |
301 } else { | 301 } else { |
302 op = EPOLL_CTL_DEL; | 302 op = EPOLL_CTL_DEL; |
303 ee.events = 0; | 303 ee.events = 0; |
304 ee.data.ptr = NULL; | 304 ee.data.ptr = NULL; |
324 ngx_epoll_add_connection(ngx_connection_t *c) | 324 ngx_epoll_add_connection(ngx_connection_t *c) |
325 { | 325 { |
326 struct epoll_event ee; | 326 struct epoll_event ee; |
327 | 327 |
328 ee.events = EPOLLIN|EPOLLOUT|EPOLLET; | 328 ee.events = EPOLLIN|EPOLLOUT|EPOLLET; |
329 ee.data.u64 = (uintptr_t) c | c->read->instance; | 329 ee.data.ptr = (void *) ((uintptr_t) c | c->read->instance); |
330 | 330 |
331 ngx_log_debug2(NGX_LOG_DEBUG_EVENT, c->log, 0, | 331 ngx_log_debug2(NGX_LOG_DEBUG_EVENT, c->log, 0, |
332 "epoll add connection: fd:%d ev:%08XD", c->fd, ee.events); | 332 "epoll add connection: fd:%d ev:%08XD", c->fd, ee.events); |
333 | 333 |
334 if (epoll_ctl(ep, EPOLL_CTL_ADD, c->fd, &ee) == -1) { | 334 if (epoll_ctl(ep, EPOLL_CTL_ADD, c->fd, &ee) == -1) { |
365 ngx_log_debug1(NGX_LOG_DEBUG_EVENT, c->log, 0, | 365 ngx_log_debug1(NGX_LOG_DEBUG_EVENT, c->log, 0, |
366 "epoll del connection: fd:%d", c->fd); | 366 "epoll del connection: fd:%d", c->fd); |
367 | 367 |
368 op = EPOLL_CTL_DEL; | 368 op = EPOLL_CTL_DEL; |
369 ee.events = 0; | 369 ee.events = 0; |
370 ee.data.u64 = 0; | 370 ee.data.ptr = NULL; |
371 | 371 |
372 if (epoll_ctl(ep, op, c->fd, &ee) == -1) { | 372 if (epoll_ctl(ep, op, c->fd, &ee) == -1) { |
373 ngx_log_error(NGX_LOG_ALERT, c->log, ngx_errno, | 373 ngx_log_error(NGX_LOG_ALERT, c->log, ngx_errno, |
374 "epoll_ctl(%d, %d) failed", op, c->fd); | 374 "epoll_ctl(%d, %d) failed", op, c->fd); |
375 return NGX_ERROR; | 375 return NGX_ERROR; |