Mercurial > hg > nginx
changeset 1833:86464f8eddd6
workaround for Linux 2.6 OpenVZ
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Tue, 08 Jan 2008 11:31:50 +0000 |
parents | 2547ef00c722 |
children | aa343f669f11 |
files | src/core/ngx_connection.c |
diffstat | 1 files changed, 13 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/src/core/ngx_connection.c +++ b/src/core/ngx_connection.c @@ -537,13 +537,21 @@ ngx_close_listening_sockets(ngx_cycle_t c = ls[i].connection; - if (ngx_event_flags & NGX_USE_RTSIG_EVENT) { - if (c->read->active) { + if (c->read->active) { + if (ngx_event_flags & NGX_USE_RTSIG_EVENT) { ngx_del_conn(c, NGX_CLOSE_EVENT); - } + + } else if (ngx_event_flags & NGX_USE_EPOLL_EVENT) { - } else { - if (c->read->active) { + /* + * it seems that Linux-2.6.x OpenVZ sends events + * for closed shared listening sockets unless + * the events was explicity deleted + */ + + ngx_del_event(c->read, NGX_READ_EVENT, 0); + + } else { ngx_del_event(c->read, NGX_READ_EVENT, NGX_CLOSE_EVENT); } }