diff options
Diffstat (limited to 'src/event')
| -rw-r--r-- | src/event/modules/ngx_epoll_module.c | 9 | ||||
| -rw-r--r-- | src/event/modules/ngx_kqueue_module.c | 9 | ||||
| -rw-r--r-- | src/event/ngx_event.c | 11 |
3 files changed, 18 insertions, 11 deletions
diff --git a/src/event/modules/ngx_epoll_module.c b/src/event/modules/ngx_epoll_module.c index 1d387799a..ab0c19260 100644 --- a/src/event/modules/ngx_epoll_module.c +++ b/src/event/modules/ngx_epoll_module.c @@ -263,6 +263,7 @@ static int ngx_epoll_del_event(ngx_event_t *ev, int event, u_int flags) if (flags & NGX_CLOSE_EVENT) { ev->active = 0; + ev->posted = 0; return NGX_OK; } @@ -437,10 +438,6 @@ int ngx_epoll_process_events(ngx_cycle_t *cycle) log = c->log ? c->log : cycle->log; #endif - ngx_log_debug3(NGX_LOG_DEBUG_EVENT, log, 0, - "epoll: fd:%d ev:%04X d:" PTR_FMT, - c->fd, event_list[i].events, event_list[i].data); - if (c->read->instance != instance) { /* @@ -453,6 +450,10 @@ int ngx_epoll_process_events(ngx_cycle_t *cycle) continue; } + ngx_log_debug3(NGX_LOG_DEBUG_EVENT, log, 0, + "epoll: fd:%d ev:%04X d:" PTR_FMT, + c->fd, event_list[i].events, event_list[i].data); + if (event_list[i].events & (EPOLLERR|EPOLLHUP)) { ngx_log_debug2(NGX_LOG_DEBUG_EVENT, log, 0, "epoll_wait() error on fd:%d ev:%04X", diff --git a/src/event/modules/ngx_kqueue_module.c b/src/event/modules/ngx_kqueue_module.c index abc577b1e..6564e9a4f 100644 --- a/src/event/modules/ngx_kqueue_module.c +++ b/src/event/modules/ngx_kqueue_module.c @@ -263,6 +263,7 @@ static int ngx_kqueue_del_event(ngx_event_t *ev, int event, u_int flags) */ if (flags & NGX_CLOSE_EVENT) { + ev->posted = 0; return NGX_OK; } @@ -464,10 +465,6 @@ static ngx_int_t ngx_kqueue_process_events(ngx_cycle_t *cycle) ev = (ngx_event_t *) ((uintptr_t) ev & (uintptr_t) ~1); ev->returned_instance = instance; - if (ev->log && (ev->log->log_level & NGX_LOG_DEBUG_CONNECTION)) { - ngx_kqueue_dump_event(ev->log, &event_list[i]); - } - if (!ev->active || ev->instance != instance) { /* @@ -480,6 +477,10 @@ static ngx_int_t ngx_kqueue_process_events(ngx_cycle_t *cycle) continue; } + if (ev->log && (ev->log->log_level & NGX_LOG_DEBUG_CONNECTION)) { + ngx_kqueue_dump_event(ev->log, &event_list[i]); + } + ev->available = event_list[i].data; if (event_list[i].flags & EV_EOF) { diff --git a/src/event/ngx_event.c b/src/event/ngx_event.c index 70a533f3b..002d2963c 100644 --- a/src/event/ngx_event.c +++ b/src/event/ngx_event.c @@ -59,8 +59,6 @@ ngx_msec_t ngx_accept_mutex_delay; -static ngx_str_t events_name = ngx_string("events"); - static ngx_command_t ngx_events_commands[] = { { ngx_string("events"), @@ -73,10 +71,17 @@ static ngx_command_t ngx_events_commands[] = { ngx_null_command }; + +static ngx_core_module_t ngx_events_module_ctx = { + ngx_string("events"), + NULL, + NULL +}; + ngx_module_t ngx_events_module = { NGX_MODULE, - &events_name, /* module context */ + &ngx_events_module_ctx, /* module context */ ngx_events_commands, /* module directives */ NGX_CORE_MODULE, /* module type */ NULL, /* init module */ |
