diff options
Diffstat (limited to 'src/event')
| -rw-r--r-- | src/event/ngx_event.c | 28 | ||||
| -rw-r--r-- | src/event/ngx_event.h | 1 | ||||
| -rw-r--r-- | src/event/ngx_event_accept.c | 13 |
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 } |
