diff options
Diffstat (limited to 'src/event')
-rw-r--r-- | src/event/ngx_event.c | 16 | ||||
-rw-r--r-- | src/event/ngx_event_pipe.c | 8 | ||||
-rw-r--r-- | src/event/ngx_event_timer.c | 1 |
3 files changed, 10 insertions, 15 deletions
diff --git a/src/event/ngx_event.c b/src/event/ngx_event.c index 66baf1aec..563186e3e 100644 --- a/src/event/ngx_event.c +++ b/src/event/ngx_event.c @@ -483,18 +483,7 @@ ngx_event_module_init(ngx_cycle_t *cycle) return NGX_OK; } - if (ngx_accept_mutex_ptr) { - - /* reinit ngx_accept_mutex */ - - if (ngx_shmtx_create(&ngx_accept_mutex, (void *) ngx_accept_mutex_ptr, - ccf->lock_file.data, cycle->log) - != NGX_OK) - { - return NGX_ERROR; - } - return NGX_OK; } @@ -528,8 +517,7 @@ ngx_event_module_init(ngx_cycle_t *cycle) ngx_accept_mutex_ptr = (ngx_atomic_t *) shared; - if (ngx_shmtx_create(&ngx_accept_mutex, shared, ccf->lock_file.data, - cycle->log) + if (ngx_shmtx_create(&ngx_accept_mutex, shared, cycle->lock_file.data) != NGX_OK) { return NGX_ERROR; @@ -596,7 +584,7 @@ ngx_event_process_init(ngx_cycle_t *cycle) ccf = (ngx_core_conf_t *) ngx_get_conf(cycle->conf_ctx, ngx_core_module); ecf = ngx_event_get_conf(cycle->conf_ctx, ngx_event_core_module); - if (ccf->worker_processes > 1 && ecf->accept_mutex) { + if (ccf->master && ccf->worker_processes > 1 && ecf->accept_mutex) { ngx_use_accept_mutex = 1; ngx_accept_mutex_held = 0; ngx_accept_mutex_delay = ecf->accept_mutex_delay; diff --git a/src/event/ngx_event_pipe.c b/src/event/ngx_event_pipe.c index bb371691b..59b89b0f9 100644 --- a/src/event/ngx_event_pipe.c +++ b/src/event/ngx_event_pipe.c @@ -295,6 +295,7 @@ ngx_event_pipe_read_upstream(ngx_event_pipe_t *p) p->read_length += n; cl = chain; + p->free_raw_bufs = NULL; while (cl && n > 0) { @@ -322,7 +323,12 @@ ngx_event_pipe_read_upstream(ngx_event_pipe_t *p) } } - p->free_raw_bufs = cl; + if (cl) { + for (ln = cl; ln->next; ln = ln->next) { /* void */ } + + ln->next = p->free_raw_bufs; + p->free_raw_bufs = cl; + } } #if (NGX_DEBUG) diff --git a/src/event/ngx_event_timer.c b/src/event/ngx_event_timer.c index 3eb23f6d3..ababb819a 100644 --- a/src/event/ngx_event_timer.c +++ b/src/event/ngx_event_timer.c @@ -23,6 +23,7 @@ ngx_event_timer_init(ngx_log_t *log) { ngx_event_timer_rbtree.root = &ngx_event_timer_sentinel; ngx_event_timer_rbtree.sentinel = &ngx_event_timer_sentinel; + ngx_event_timer_rbtree.insert = ngx_rbtree_insert_timer_value; #if (NGX_THREADS) |