diff options
| author | Igor Sysoev <igor@sysoev.ru> | 2004-06-16 15:32:11 +0000 |
|---|---|---|
| committer | Igor Sysoev <igor@sysoev.ru> | 2004-06-16 15:32:11 +0000 |
| commit | 2f65722941903cfb5b4819bbf32b61ed1d330749 (patch) | |
| tree | 77fb2186a9afef9acdbc77e60e43a82fc4dae122 /src/event | |
| parent | d09f7a1e9aa5816493e2fef93074383d95140c13 (diff) | |
| download | nginx-2f65722941903cfb5b4819bbf32b61ed1d330749.tar.gz nginx-2f65722941903cfb5b4819bbf32b61ed1d330749.tar.bz2 | |
nginx-0.0.7-2004-06-16-19:32:11 import
Diffstat (limited to 'src/event')
| -rw-r--r-- | src/event/modules/ngx_kqueue_module.c | 18 | ||||
| -rw-r--r-- | src/event/modules/ngx_poll_module.c | 60 | ||||
| -rw-r--r-- | src/event/modules/ngx_select_module.c | 16 | ||||
| -rw-r--r-- | src/event/ngx_event.c | 16 | ||||
| -rw-r--r-- | src/event/ngx_event.h | 29 |
5 files changed, 60 insertions, 79 deletions
diff --git a/src/event/modules/ngx_kqueue_module.c b/src/event/modules/ngx_kqueue_module.c index 71e69183b..4a844e910 100644 --- a/src/event/modules/ngx_kqueue_module.c +++ b/src/event/modules/ngx_kqueue_module.c @@ -16,12 +16,12 @@ typedef struct { } ngx_kqueue_conf_t; -static int ngx_kqueue_init(ngx_cycle_t *cycle); +static ngx_int_t ngx_kqueue_init(ngx_cycle_t *cycle); static void ngx_kqueue_done(ngx_cycle_t *cycle); -static int ngx_kqueue_add_event(ngx_event_t *ev, int event, u_int flags); -static int ngx_kqueue_del_event(ngx_event_t *ev, int event, u_int flags); -static int ngx_kqueue_set_event(ngx_event_t *ev, int filter, u_int flags); -static int ngx_kqueue_process_events(ngx_cycle_t *cycle); +static ngx_int_t ngx_kqueue_add_event(ngx_event_t *ev, int event, u_int flags); +static ngx_int_t ngx_kqueue_del_event(ngx_event_t *ev, int event, u_int flags); +static ngx_int_t ngx_kqueue_set_event(ngx_event_t *ev, int filter, u_int flags); +static ngx_int_t ngx_kqueue_process_events(ngx_cycle_t *cycle); static ngx_inline void ngx_kqueue_dump_event(ngx_log_t *log, struct kevent *kev); @@ -87,7 +87,7 @@ ngx_module_t ngx_kqueue_module = { -static int ngx_kqueue_init(ngx_cycle_t *cycle) +static ngx_int_t ngx_kqueue_init(ngx_cycle_t *cycle) { struct timespec ts; ngx_kqueue_conf_t *kcf; @@ -184,7 +184,7 @@ static void ngx_kqueue_done(ngx_cycle_t *cycle) } -static int ngx_kqueue_add_event(ngx_event_t *ev, int event, u_int flags) +static ngx_int_t ngx_kqueue_add_event(ngx_event_t *ev, int event, u_int flags) { ngx_event_t *e; ngx_connection_t *c; @@ -229,7 +229,7 @@ static int ngx_kqueue_add_event(ngx_event_t *ev, int event, u_int flags) } -static int ngx_kqueue_del_event(ngx_event_t *ev, int event, u_int flags) +static ngx_int_t ngx_kqueue_del_event(ngx_event_t *ev, int event, u_int flags) { ngx_event_t *e; @@ -276,7 +276,7 @@ static int ngx_kqueue_del_event(ngx_event_t *ev, int event, u_int flags) } -static int ngx_kqueue_set_event(ngx_event_t *ev, int filter, u_int flags) +static ngx_int_t ngx_kqueue_set_event(ngx_event_t *ev, int filter, u_int flags) { struct timespec ts; ngx_connection_t *c; diff --git a/src/event/modules/ngx_poll_module.c b/src/event/modules/ngx_poll_module.c index b40499d9d..64f7cec74 100644 --- a/src/event/modules/ngx_poll_module.c +++ b/src/event/modules/ngx_poll_module.c @@ -9,11 +9,11 @@ #include <ngx_event.h> -static int ngx_poll_init(ngx_cycle_t *cycle); +static ngx_int_t ngx_poll_init(ngx_cycle_t *cycle); static void ngx_poll_done(ngx_cycle_t *cycle); -static int ngx_poll_add_event(ngx_event_t *ev, int event, u_int flags); -static int ngx_poll_del_event(ngx_event_t *ev, int event, u_int flags); -int ngx_poll_process_events(ngx_cycle_t *cycle); +static ngx_int_t ngx_poll_add_event(ngx_event_t *ev, int event, u_int flags); +static ngx_int_t ngx_poll_del_event(ngx_event_t *ev, int event, u_int flags); +static ngx_int_t ngx_poll_process_events(ngx_cycle_t *cycle); static struct pollfd *event_list; @@ -58,7 +58,7 @@ ngx_module_t ngx_poll_module = { -static int ngx_poll_init(ngx_cycle_t *cycle) +static ngx_int_t ngx_poll_init(ngx_cycle_t *cycle) { struct pollfd *list; @@ -118,7 +118,7 @@ static void ngx_poll_done(ngx_cycle_t *cycle) } -static int ngx_poll_add_event(ngx_event_t *ev, int event, u_int flags) +static ngx_int_t ngx_poll_add_event(ngx_event_t *ev, int event, u_int flags) { ngx_event_t *e; ngx_connection_t *c; @@ -171,7 +171,7 @@ static int ngx_poll_add_event(ngx_event_t *ev, int event, u_int flags) } -static int ngx_poll_del_event(ngx_event_t *ev, int event, u_int flags) +static ngx_int_t ngx_poll_del_event(ngx_event_t *ev, int event, u_int flags) { ngx_uint_t i; ngx_cycle_t **cycle; @@ -259,7 +259,7 @@ static int ngx_poll_del_event(ngx_event_t *ev, int event, u_int flags) } -int ngx_poll_process_events(ngx_cycle_t *cycle) +static ngx_int_t ngx_poll_process_events(ngx_cycle_t *cycle) { int ready; ngx_int_t i, nready; @@ -272,33 +272,27 @@ int ngx_poll_process_events(ngx_cycle_t *cycle) ngx_connection_t *c; struct timeval tv; - if (ngx_event_flags & NGX_OVERFLOW_EVENT) { - timer = 0; - expire = 0; - - } else { - for ( ;; ) { - timer = ngx_event_find_timer(); + for ( ;; ) { + timer = ngx_event_find_timer(); - if (timer != 0) { - break; - } + if (timer != 0) { + break; + } - ngx_log_debug0(NGX_LOG_DEBUG_EVENT, cycle->log, 0, - "poll expired timer"); + ngx_log_debug0(NGX_LOG_DEBUG_EVENT, cycle->log, 0, + "poll expired timer"); - ngx_event_expire_timers((ngx_msec_t) - (ngx_elapsed_msec - ngx_old_elapsed_msec)); - } + ngx_event_expire_timers((ngx_msec_t) + (ngx_elapsed_msec - ngx_old_elapsed_msec)); + } - /* NGX_TIMER_INFINITE == INFTIM */ + /* NGX_TIMER_INFINITE == INFTIM */ - if (timer == NGX_TIMER_INFINITE) { - expire = 0; + if (timer == NGX_TIMER_INFINITE) { + expire = 0; - } else { - expire = 1; - } + } else { + expire = 1; } ngx_old_elapsed_msec = ngx_elapsed_msec; @@ -372,14 +366,6 @@ int ngx_poll_process_events(ngx_cycle_t *cycle) } } - if ((ngx_event_flags & NGX_OVERFLOW_EVENT) && timer == 0 && ready == 0) { - - /* the overflowed rt signals queue has been drained */ - - ngx_accept_mutex_unlock(); - return NGX_OK; - } - if (ngx_mutex_lock(ngx_posted_events_mutex) == NGX_ERROR) { ngx_accept_mutex_unlock(); return NGX_ERROR; diff --git a/src/event/modules/ngx_select_module.c b/src/event/modules/ngx_select_module.c index 93b3cf3e7..4d50427a5 100644 --- a/src/event/modules/ngx_select_module.c +++ b/src/event/modules/ngx_select_module.c @@ -10,11 +10,11 @@ -static int ngx_select_init(ngx_cycle_t *cycle); +static ngx_int_t ngx_select_init(ngx_cycle_t *cycle); static void ngx_select_done(ngx_cycle_t *cycle); -static int ngx_select_add_event(ngx_event_t *ev, int event, u_int flags); -static int ngx_select_del_event(ngx_event_t *ev, int event, u_int flags); -static int ngx_select_process_events(ngx_cycle_t *cycle); +static ngx_int_t ngx_select_add_event(ngx_event_t *ev, int event, u_int flags); +static ngx_int_t ngx_select_del_event(ngx_event_t *ev, int event, u_int flags); +static ngx_int_t ngx_select_process_events(ngx_cycle_t *cycle); static char *ngx_select_init_conf(ngx_cycle_t *cycle, void *conf); @@ -72,7 +72,7 @@ ngx_module_t ngx_select_module = { }; -static int ngx_select_init(ngx_cycle_t *cycle) +static ngx_int_t ngx_select_init(ngx_cycle_t *cycle) { ngx_event_t **index; @@ -135,7 +135,7 @@ static void ngx_select_done(ngx_cycle_t *cycle) } -static int ngx_select_add_event(ngx_event_t *ev, int event, u_int flags) +static ngx_int_t ngx_select_add_event(ngx_event_t *ev, int event, u_int flags) { ngx_connection_t *c; @@ -196,7 +196,7 @@ static int ngx_select_add_event(ngx_event_t *ev, int event, u_int flags) } -static int ngx_select_del_event(ngx_event_t *ev, int event, u_int flags) +static ngx_int_t ngx_select_del_event(ngx_event_t *ev, int event, u_int flags) { ngx_connection_t *c; @@ -249,7 +249,7 @@ static int ngx_select_del_event(ngx_event_t *ev, int event, u_int flags) } -static int ngx_select_process_events(ngx_cycle_t *cycle) +static ngx_int_t ngx_select_process_events(ngx_cycle_t *cycle) { int ready, nready; ngx_uint_t i, found, lock, expire; diff --git a/src/event/ngx_event.c b/src/event/ngx_event.c index d669182a0..a74430a50 100644 --- a/src/event/ngx_event.c +++ b/src/event/ngx_event.c @@ -504,7 +504,7 @@ static char *ngx_event_use(ngx_conf_t *cf, ngx_command_t *cmd, void *conf) ngx_event_conf_t *old_ecf; ngx_event_module_t *module; - if (ecf->use != NGX_CONF_UNSET) { + if (ecf->use != NGX_CONF_UNSET_UINT) { return "is duplicate" ; } @@ -633,19 +633,19 @@ static char *ngx_event_init_conf(ngx_cycle_t *cycle, void *conf) #if (HAVE_KQUEUE) ngx_conf_init_unsigned_value(ecf->connections, DEFAULT_CONNECTIONS); - ngx_conf_init_value(ecf->use, ngx_kqueue_module.ctx_index); + ngx_conf_init_unsigned_value(ecf->use, ngx_kqueue_module.ctx_index); ngx_conf_init_ptr_value(ecf->name, ngx_kqueue_module_ctx.name->data); #elif (HAVE_DEVPOLL) ngx_conf_init_unsigned_value(ecf->connections, DEFAULT_CONNECTIONS); - ngx_conf_init_value(ecf->use, ngx_devpoll_module.ctx_index); + ngx_conf_init_unsigned_value(ecf->use, ngx_devpoll_module.ctx_index); ngx_conf_init_ptr_value(ecf->name, ngx_devpoll_module_ctx.name->data); #elif (HAVE_EPOLL) ngx_conf_init_unsigned_value(ecf->connections, DEFAULT_CONNECTIONS); - ngx_conf_init_value(ecf->use, ngx_epoll_module.ctx_index); + ngx_conf_init_unsigned_value(ecf->use, ngx_epoll_module.ctx_index); ngx_conf_init_ptr_value(ecf->name, ngx_epoll_module_ctx.name->data); #elif (HAVE_RTSIG) @@ -653,7 +653,7 @@ static char *ngx_event_init_conf(ngx_cycle_t *cycle, void *conf) ngx_core_conf_t *ccf; ngx_conf_init_unsigned_value(ecf->connections, DEFAULT_CONNECTIONS); - ngx_conf_init_value(ecf->use, ngx_rtsig_module.ctx_index); + ngx_conf_init_unsigned_value(ecf->use, ngx_rtsig_module.ctx_index); ngx_conf_init_ptr_value(ecf->name, ngx_rtsig_module_ctx.name->data); #elif (HAVE_SELECT) @@ -665,7 +665,7 @@ static char *ngx_event_init_conf(ngx_cycle_t *cycle, void *conf) FD_SETSIZE < DEFAULT_CONNECTIONS ? FD_SETSIZE : DEFAULT_CONNECTIONS); #endif - ngx_conf_init_value(ecf->use, ngx_select_module.ctx_index); + ngx_conf_init_unsigned_value(ecf->use, ngx_select_module.ctx_index); ngx_conf_init_ptr_value(ecf->name, ngx_select_module_ctx.name->data); #else @@ -694,9 +694,9 @@ static char *ngx_event_init_conf(ngx_cycle_t *cycle, void *conf) return NGX_CONF_ERROR; } - ngx_conf_init_value(ecf->connections, DEFAULT_CONNECTIONS); + ngx_conf_unsigned_init_value(ecf->connections, DEFAULT_CONNECTIONS); - ngx_conf_init_value(ecf->use, m); + ngx_conf_unsigned_init_value(ecf->use, m); ngx_conf_init_ptr_value(ecf->name, module->name->data); #endif diff --git a/src/event/ngx_event.h b/src/event/ngx_event.h index 986ae0e58..0c2e5d8fa 100644 --- a/src/event/ngx_event.h +++ b/src/event/ngx_event.h @@ -177,18 +177,18 @@ struct ngx_event_s { typedef struct { - int (*add)(ngx_event_t *ev, int event, u_int flags); - int (*del)(ngx_event_t *ev, int event, u_int flags); + ngx_int_t (*add)(ngx_event_t *ev, int event, u_int flags); + ngx_int_t (*del)(ngx_event_t *ev, int event, u_int flags); - int (*enable)(ngx_event_t *ev, int event, u_int flags); - int (*disable)(ngx_event_t *ev, int event, u_int flags); + ngx_int_t (*enable)(ngx_event_t *ev, int event, u_int flags); + ngx_int_t (*disable)(ngx_event_t *ev, int event, u_int flags); - int (*add_conn)(ngx_connection_t *c); - int (*del_conn)(ngx_connection_t *c, u_int flags); + ngx_int_t (*add_conn)(ngx_connection_t *c); + ngx_int_t (*del_conn)(ngx_connection_t *c, u_int flags); - int (*process)(ngx_cycle_t *cycle); - int (*init)(ngx_cycle_t *cycle); - void (*done)(ngx_cycle_t *cycle); + ngx_int_t (*process)(ngx_cycle_t *cycle); + ngx_int_t (*init)(ngx_cycle_t *cycle); + void (*done)(ngx_cycle_t *cycle); } ngx_event_actions_t; @@ -249,21 +249,16 @@ extern ngx_event_actions_t ngx_event_actions; #define NGX_USE_RTSIG_EVENT 0x00000100 /* - * The alternative event method after the rt signals queue overflow. - */ -#define NGX_OVERFLOW_EVENT 0x00000200 - -/* * No need to add or delete the event filters - overlapped, aio_read, * aioread, io_submit. */ -#define NGX_USE_AIO_EVENT 0x00000400 +#define NGX_USE_AIO_EVENT 0x00000200 /* * Need to add socket or handle only once - i/o completion port. * It also requires HAVE_AIO and NGX_USE_AIO_EVENT to be set. */ -#define NGX_USE_IOCP_EVENT 0x00000800 +#define NGX_USE_IOCP_EVENT 0x00000400 @@ -390,7 +385,7 @@ extern ngx_event_actions_t ngx_event_actions; typedef struct { ngx_uint_t connections; - ngx_int_t use; + ngx_uint_t use; ngx_flag_t multi_accept; ngx_flag_t accept_mutex; |
