From 1bfa7bc78a23c0150e0bbf854e778dba4df30031 Mon Sep 17 00:00:00 2001 From: Igor Sysoev Date: Mon, 10 Oct 2005 12:59:41 +0000 Subject: nginx-0.3.1-RELEASE import *) Bugfix: the segmentation fault occurred when the signal queue overflowed if the "rtsig" method was used; the bug had appeared in 0.2.0. *) Change: correct handling of the "\\", "\"", "\'", and "\$" pairs in SSI. --- src/event/modules/ngx_epoll_module.c | 1 - src/event/modules/ngx_kqueue_module.c | 1 - src/event/modules/ngx_rtsig_module.c | 7 +++++-- 3 files changed, 5 insertions(+), 4 deletions(-) (limited to 'src/event/modules') diff --git a/src/event/modules/ngx_epoll_module.c b/src/event/modules/ngx_epoll_module.c index 177c05da7..a53b8eb26 100644 --- a/src/event/modules/ngx_epoll_module.c +++ b/src/event/modules/ngx_epoll_module.c @@ -405,7 +405,6 @@ ngx_epoll_process_events(ngx_cycle_t *cycle) if (timer == NGX_TIMER_INFINITE || timer > 500) { timer = 500; - break; } #endif diff --git a/src/event/modules/ngx_kqueue_module.c b/src/event/modules/ngx_kqueue_module.c index ee55915d6..99342ab1f 100644 --- a/src/event/modules/ngx_kqueue_module.c +++ b/src/event/modules/ngx_kqueue_module.c @@ -462,7 +462,6 @@ ngx_kqueue_process_events(ngx_cycle_t *cycle) if (timer == NGX_TIMER_INFINITE || timer > 500) { timer = 500; - break; } #endif diff --git a/src/event/modules/ngx_rtsig_module.c b/src/event/modules/ngx_rtsig_module.c index fdbbb2fe4..f88dd5d6f 100644 --- a/src/event/modules/ngx_rtsig_module.c +++ b/src/event/modules/ngx_rtsig_module.c @@ -307,7 +307,6 @@ ngx_rtsig_process_events(ngx_cycle_t *cycle) if (timer == NGX_TIMER_INFINITE || timer > 500) { timer = 500; - break; } #endif @@ -578,7 +577,7 @@ ngx_rtsig_process_overflow(ngx_cycle_t *cycle) c = cycle->files[overflow_current++]; - if (c->fd == -1) { + if (c == NULL || c->fd == -1) { continue; } @@ -634,6 +633,10 @@ ngx_rtsig_process_overflow(ngx_cycle_t *cycle) for (i = 0; i < n; i++) { c = cycle->files[overflow_list[i].fd]; + if (c == NULL) { + continue; + } + rev = c->read; if (rev->active -- cgit