Mercurial > hg > nginx
diff src/event/modules/ngx_rtsig_module.c @ 354:eaf1f651cf86
nginx-0.0.7-2004-06-15-11:55:11 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Tue, 15 Jun 2004 07:55:11 +0000 |
parents | 694d7ddc3599 |
children | 744ccb59062d |
line wrap: on
line diff
--- a/src/event/modules/ngx_rtsig_module.c +++ b/src/event/modules/ngx_rtsig_module.c @@ -177,6 +177,10 @@ static ngx_int_t ngx_rtsig_add_connectio ngx_rtsig_conf_t *rtscf; if (c->read->accept && c->read->disabled) { + + ngx_log_debug1(NGX_LOG_DEBUG_EVENT, c->log, 0, + "rtsig enable connection: fd:%d", c->fd); + if (fcntl(c->fd, F_SETOWN, ngx_pid) == -1) { ngx_log_error(NGX_LOG_ALERT, c->log, ngx_errno, "fcntl(F_SETOWN) failed"); @@ -233,14 +237,20 @@ static ngx_int_t ngx_rtsig_del_connectio "rtsig del connection: fd:%d", c->fd); if ((flags & NGX_DISABLE_EVENT) && c->read->accept) { + + ngx_log_debug1(NGX_LOG_DEBUG_EVENT, c->log, 0, + "rtsig disable connection: fd:%d", c->fd); + c->read->active = 0; - c->read->disabled = 0; + c->read->disabled = 1; return NGX_OK; } if (flags & NGX_CLOSE_EVENT) { c->read->active = 0; c->write->active = 0; + c->read->posted = 0; + c->write->posted = 0; return NGX_OK; } @@ -252,6 +262,8 @@ static ngx_int_t ngx_rtsig_del_connectio c->read->active = 0; c->write->active = 0; + c->read->posted = 0; + c->write->posted = 0; return NGX_OK; } @@ -299,6 +311,8 @@ ngx_int_t ngx_rtsig_process_events(ngx_c ngx_accept_disabled--; } else { + ngx_accept_mutex_held = 0; + if (ngx_trylock_accept_mutex(cycle) == NGX_ERROR) { return NGX_ERROR; } @@ -517,7 +531,8 @@ ngx_int_t ngx_rtsig_process_events(ngx_c static ngx_int_t ngx_rtsig_process_overflow(ngx_cycle_t *cycle) { - int name[2], len, rtsig_max, rtsig_nr, events, ready; + int name[2], rtsig_max, rtsig_nr, events, ready; + size_t len; ngx_int_t tested, n, i; ngx_err_t err; ngx_connection_t *c; @@ -709,8 +724,8 @@ static char *ngx_rtsig_init_conf(ngx_cyc ngx_conf_init_value(rtscf->signo, SIGRTMIN + 10); ngx_conf_init_value(rtscf->overflow_events, 16); - ngx_conf_init_value(rtscf->overflow_test, 100); - ngx_conf_init_value(rtscf->overflow_threshold, 4); + ngx_conf_init_value(rtscf->overflow_test, 32); + ngx_conf_init_value(rtscf->overflow_threshold, 10); return NGX_CONF_OK; }