summaryrefslogtreecommitdiffhomepage
path: root/src/event
diff options
context:
space:
mode:
Diffstat (limited to 'src/event')
-rw-r--r--src/event/ngx_event.c28
-rw-r--r--src/event/ngx_event.h1
-rw-r--r--src/event/ngx_event_accept.c13
3 files changed, 26 insertions, 16 deletions
diff --git a/src/event/ngx_event.c b/src/event/ngx_event.c
index 780dbeba5..38efca0b8 100644
--- a/src/event/ngx_event.c
+++ b/src/event/ngx_event.c
@@ -34,27 +34,29 @@ static char *ngx_event_init_conf(ngx_cycle_t *cycle, void *conf);
static char *ngx_accept_mutex_check(ngx_conf_t *cf, void *post, void *data);
-static ngx_uint_t ngx_event_max_module;
+static ngx_uint_t ngx_event_max_module;
-ngx_uint_t ngx_event_flags;
-ngx_event_actions_t ngx_event_actions;
+ngx_uint_t ngx_event_flags;
+ngx_event_actions_t ngx_event_actions;
-ngx_atomic_t connection_counter;
+ngx_atomic_t connection_counter;
ngx_atomic_t *ngx_connection_counter = &connection_counter;
ngx_atomic_t *ngx_accept_mutex_ptr;
ngx_atomic_t *ngx_accept_mutex;
-ngx_uint_t ngx_accept_mutex_held;
-ngx_msec_t ngx_accept_mutex_delay;
-ngx_int_t ngx_accept_disabled;
+ngx_uint_t ngx_accept_mutex_held;
+ngx_msec_t ngx_accept_mutex_delay;
+ngx_int_t ngx_accept_disabled;
#if (NGX_STAT_STUB)
ngx_atomic_t ngx_stat_accepted0;
ngx_atomic_t *ngx_stat_accepted = &ngx_stat_accepted0;
+ngx_atomic_t ngx_stat_handled0;
+ngx_atomic_t *ngx_stat_handled = &ngx_stat_handled0;
ngx_atomic_t ngx_stat_requests0;
ngx_atomic_t *ngx_stat_requests = &ngx_stat_requests0;
ngx_atomic_t ngx_stat_active0;
@@ -62,7 +64,7 @@ ngx_atomic_t *ngx_stat_active = &ngx_stat_active0;
ngx_atomic_t ngx_stat_reading0;
ngx_atomic_t *ngx_stat_reading = &ngx_stat_reading0;
ngx_atomic_t ngx_stat_writing0;
-ngx_atomic_t *ngx_stat_writing = &ngx_stat_reading0;
+ngx_atomic_t *ngx_stat_writing = &ngx_stat_writing0;
#endif
@@ -209,6 +211,7 @@ static ngx_int_t ngx_event_module_init(ngx_cycle_t *cycle)
#if (NGX_STAT_STUB)
size += 128 /* ngx_stat_accepted */
+ + 128 /* ngx_stat_handled */
+ 128 /* ngx_stat_requests */
+ 128 /* ngx_stat_active */
+ 128 /* ngx_stat_reading */
@@ -226,10 +229,11 @@ static ngx_int_t ngx_event_module_init(ngx_cycle_t *cycle)
#if (NGX_STAT_STUB)
ngx_stat_accepted = (ngx_atomic_t *) (shared + 2 * 128);
- ngx_stat_requests = (ngx_atomic_t *) (shared + 3 * 128);
- ngx_stat_active = (ngx_atomic_t *) (shared + 4 * 128);
- ngx_stat_reading = (ngx_atomic_t *) (shared + 5 * 128);
- ngx_stat_writing = (ngx_atomic_t *) (shared + 6 * 128);
+ ngx_stat_handled = (ngx_atomic_t *) (shared + 3 * 128);
+ ngx_stat_requests = (ngx_atomic_t *) (shared + 4 * 128);
+ ngx_stat_active = (ngx_atomic_t *) (shared + 5 * 128);
+ ngx_stat_reading = (ngx_atomic_t *) (shared + 6 * 128);
+ ngx_stat_writing = (ngx_atomic_t *) (shared + 7 * 128);
#endif
diff --git a/src/event/ngx_event.h b/src/event/ngx_event.h
index d156a6393..6dfd70986 100644
--- a/src/event/ngx_event.h
+++ b/src/event/ngx_event.h
@@ -442,6 +442,7 @@ extern ngx_int_t ngx_accept_disabled;
#if (NGX_STAT_STUB)
extern ngx_atomic_t *ngx_stat_accepted;
+extern ngx_atomic_t *ngx_stat_handled;
extern ngx_atomic_t *ngx_stat_requests;
extern ngx_atomic_t *ngx_stat_active;
extern ngx_atomic_t *ngx_stat_reading;
diff --git a/src/event/ngx_event_accept.c b/src/event/ngx_event_accept.c
index fb2d98473..f30e1fcc3 100644
--- a/src/event/ngx_event_accept.c
+++ b/src/event/ngx_event_accept.c
@@ -118,6 +118,7 @@ ngx_event_accept(ngx_event_t *ev)
#if (NGX_STAT_STUB)
ngx_atomic_inc(ngx_stat_accepted);
+ ngx_atomic_inc(ngx_stat_active);
#endif
ngx_accept_disabled = (ngx_uint_t) s + NGX_ACCEPT_THRESHOLD
@@ -138,10 +139,6 @@ ngx_event_accept(ngx_event_t *ev)
return;
}
-#if (NGX_STAT_STUB)
- ngx_atomic_inc(ngx_stat_active);
-#endif
-
/* set a blocking mode for aio and non-blocking mode for others */
if (ngx_inherited_nonblocking) {
@@ -263,6 +260,10 @@ ngx_event_accept(ngx_event_t *ev)
c->number = ngx_atomic_inc(ngx_connection_counter);
+#if (NGX_STAT_STUB)
+ ngx_atomic_inc(ngx_stat_handled);
+#endif
+
#if (NGX_THREADS)
rev->lock = &c->lock;
wev->lock = &c->lock;
@@ -452,6 +453,10 @@ ngx_close_accepted_socket(ngx_socket_t s, ngx_log_t *log)
ngx_log_error(NGX_LOG_ALERT, log, ngx_socket_errno,
ngx_close_socket_n " failed");
}
+
+#if (NGX_STAT_STUB)
+ ngx_atomic_dec(ngx_stat_active);
+#endif
}