diff options
author | Igor Sysoev <igor@sysoev.ru> | 2004-06-09 20:03:54 +0000 |
---|---|---|
committer | Igor Sysoev <igor@sysoev.ru> | 2004-06-09 20:03:54 +0000 |
commit | 5428ae74c0d0c74ea407208ffb45ea80f167b0fd (patch) | |
tree | 49e827360348b206f4b8da45d731d560121fdc42 | |
parent | 956ae654c899c4a20b7586006151e512c5058e18 (diff) | |
download | nginx-5428ae74c0d0c74ea407208ffb45ea80f167b0fd.tar.gz nginx-5428ae74c0d0c74ea407208ffb45ea80f167b0fd.zip |
nginx-0.0.4-2004-06-10-00:03:54 import
-rw-r--r-- | src/event/modules/ngx_rtsig_module.c | 13 | ||||
-rw-r--r-- | src/event/ngx_event_accept.c | 4 | ||||
-rw-r--r-- | src/event/ngx_event_posted.c | 2 |
3 files changed, 14 insertions, 5 deletions
diff --git a/src/event/modules/ngx_rtsig_module.c b/src/event/modules/ngx_rtsig_module.c index c1428ee81..98a9155eb 100644 --- a/src/event/modules/ngx_rtsig_module.c +++ b/src/event/modules/ngx_rtsig_module.c @@ -476,11 +476,12 @@ ngx_int_t ngx_rtsig_process_events(ngx_cycle_t *cycle) static ngx_int_t ngx_rtsig_process_overflow(ngx_cycle_t *cycle) { int name[2], len, rtsig_max, rtsig_nr; - ngx_uint_t i; + ngx_uint_t i, n; ngx_connection_t *c; /* TODO: old cylces */ + n = 0; c = cycle->connections; for (current = 0; current < cycle->connection_n; current++) { @@ -491,6 +492,7 @@ static ngx_int_t ngx_rtsig_process_overflow(ngx_cycle_t *cycle) } if (c[i].read->active && c[i].read->event_handler) { + n++; c[i].read->ready = 1; if (!ngx_threaded) { @@ -508,6 +510,7 @@ static ngx_int_t ngx_rtsig_process_overflow(ngx_cycle_t *cycle) } if (c[i].write->active && c[i].write->event_handler) { + n++; c[i].write->ready = 1; if (!ngx_threaded) { @@ -524,13 +527,13 @@ static ngx_int_t ngx_rtsig_process_overflow(ngx_cycle_t *cycle) } } - if (i && (i % 100 == 0)) { + if (n && (n % 100 == 0)) { /* * Check the current rt queue length to prevent the new overflow. * * Learn the /proc/sys/kernel/rtsig-max value because - * it can be changed sisnce the last checking + * it can be changed sisnce the last checking. */ name[0] = CTL_KERN; @@ -553,10 +556,12 @@ static ngx_int_t ngx_rtsig_process_overflow(ngx_cycle_t *cycle) /* * drain rt signal queue if the /proc/sys/kernel/rtsig-nr - * is bigger then "/proc/sys/kernel/rtsig-max / 4" + * is bigger than "/proc/sys/kernel/rtsig-max / 4" */ if (rtsig_max / 4 < rtsig_nr) { + ngx_log_debug2(NGX_LOG_DEBUG_EVENT, cycle->log, 0, + "rtsig queue state: %d/%d", rtsig_nr, rtsig_max); while (ngx_rtsig_process_events(cycle) == NGX_OK) { /* void */ } } } diff --git a/src/event/ngx_event_accept.c b/src/event/ngx_event_accept.c index 9b53edbb5..bdc9f4650 100644 --- a/src/event/ngx_event_accept.c +++ b/src/event/ngx_event_accept.c @@ -256,6 +256,10 @@ void ngx_event_accept(ngx_event_t *ev) rev->ready = 1; } + if (rev->ready) { + rev->returned_instance = rev->instance; + } + c->ctx = ls->ctx; c->servers = ls->servers; diff --git a/src/event/ngx_event_posted.c b/src/event/ngx_event_posted.c index 73a737756..96475f366 100644 --- a/src/event/ngx_event_posted.c +++ b/src/event/ngx_event_posted.c @@ -40,7 +40,7 @@ void ngx_event_process_posted(ngx_cycle_t *cycle) */ ngx_log_debug1(NGX_LOG_DEBUG_EVENT, cycle->log, 0, - "stale posted event " PTR_FMT, ev); + "stale posted event " PTR_FMT, ev); continue; } |