Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nginx/nginx.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/src/event
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2004-06-10 00:03:54 +0400
committerIgor Sysoev <igor@sysoev.ru>2004-06-10 00:03:54 +0400
commit5428ae74c0d0c74ea407208ffb45ea80f167b0fd (patch)
tree49e827360348b206f4b8da45d731d560121fdc42 /src/event
parent956ae654c899c4a20b7586006151e512c5058e18 (diff)
nginx-0.0.4-2004-06-10-00:03:54 import
Diffstat (limited to 'src/event')
-rw-r--r--src/event/modules/ngx_rtsig_module.c13
-rw-r--r--src/event/ngx_event_accept.c4
-rw-r--r--src/event/ngx_event_posted.c2
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;
}