# HG changeset patch # User Igor Sysoev # Date 1322596800 -14400 # Node ID d9136cb50cd3448336ad152034f3730b4e16be62 # Parent 583a3cd2773c95a8741a8e5c15f1afc61307b87e nginx 1.1.10 *) Bugfix: a segmentation fault occured in a worker process if AIO was used on Linux; the bug had appeared in 1.1.9. diff --git a/CHANGES b/CHANGES --- a/CHANGES +++ b/CHANGES @@ -1,4 +1,10 @@ +Changes with nginx 1.1.10 30 Nov 2011 + + *) Bugfix: a segmentation fault occured in a worker process if AIO was + used on Linux; the bug had appeared in 1.1.9. + + Changes with nginx 1.1.9 28 Nov 2011 *) Change: now double quotes are encoded in an "echo" SSI-command diff --git a/CHANGES.ru b/CHANGES.ru --- a/CHANGES.ru +++ b/CHANGES.ru @@ -1,4 +1,10 @@ +Изменения в nginx 1.1.10 30.11.2011 + + *) Исправление: при использовании AIO на Linux в рабочем процессе + происходил segmentation fault; ошибка появилась в 1.1.9. + + Изменения в nginx 1.1.9 28.11.2011 *) Изменение: теперь двойные кавычки экранируется при выводе diff --git a/src/core/nginx.h b/src/core/nginx.h --- a/src/core/nginx.h +++ b/src/core/nginx.h @@ -8,8 +8,8 @@ #define _NGINX_H_INCLUDED_ -#define nginx_version 1001009 -#define NGINX_VERSION "1.1.9" +#define nginx_version 1001010 +#define NGINX_VERSION "1.1.10" #define NGINX_VER "nginx/" NGINX_VERSION #define NGINX_VAR "NGINX" diff --git a/src/event/modules/ngx_epoll_module.c b/src/event/modules/ngx_epoll_module.c --- a/src/event/modules/ngx_epoll_module.c +++ b/src/event/modules/ngx_epoll_module.c @@ -681,19 +681,19 @@ ngx_epoll_process_events(ngx_cycle_t *cy wev = c->write; - if (c->fd == -1 || wev->instance != instance) { + if ((revents & EPOLLOUT) && wev->active) { - /* - * the stale event from a file descriptor - * that was just closed in this iteration - */ + if (c->fd == -1 || wev->instance != instance) { - ngx_log_debug1(NGX_LOG_DEBUG_EVENT, cycle->log, 0, - "epoll: stale event %p", c); - continue; - } + /* + * the stale event from a file descriptor + * that was just closed in this iteration + */ - if ((revents & EPOLLOUT) && wev->active) { + ngx_log_debug1(NGX_LOG_DEBUG_EVENT, cycle->log, 0, + "epoll: stale event %p", c); + continue; + } if (flags & NGX_POST_THREAD_EVENTS) { wev->posted_ready = 1; diff --git a/src/http/modules/perl/nginx.pm b/src/http/modules/perl/nginx.pm --- a/src/http/modules/perl/nginx.pm +++ b/src/http/modules/perl/nginx.pm @@ -48,7 +48,7 @@ our @EXPORT = qw( HTTP_INSUFFICIENT_STORAGE ); -our $VERSION = '1.1.9'; +our $VERSION = '1.1.10'; require XSLoader; XSLoader::load('nginx', $VERSION);