Mercurial > hg > nginx
diff src/event/ngx_event.c @ 90:37530da31268
nginx-0.0.1-2003-05-16-19:27:48 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Fri, 16 May 2003 15:27:48 +0000 |
parents | 5f6d848dcbef |
children | 637625a2acdb |
line wrap: on
line diff
--- a/src/event/ngx_event.c +++ b/src/event/ngx_event.c @@ -9,6 +9,7 @@ #include <ngx_listen.h> #include <ngx_connection.h> #include <ngx_event.h> +#include <ngx_conf_file.h> #include <ngx_select_module.h> @@ -34,6 +35,9 @@ #endif +static char *ngx_events_block(ngx_conf_t *cf, ngx_command_t *cmd, char *dummy); + + ngx_connection_t *ngx_connections; ngx_event_t *ngx_read_events, *ngx_write_events; @@ -68,6 +72,66 @@ static int (*ngx_event_init[]) (int max_ #endif /* USE_KQUEUE */ +static int ngx_event_connections; + + +static ngx_str_t events_name = ngx_string("events"); + +static ngx_command_t ngx_events_commands[] = { + + {ngx_string("events"), + NGX_MAIN_CONF|NGX_CONF_BLOCK|NGX_CONF_NOARGS, + ngx_events_block, + 0, + 0, + NULL}, + + {ngx_string(""), 0, NULL, 0, 0, NULL} +}; + + +ngx_module_t ngx_events_module = { + &events_name, /* module context */ + 0, /* module index */ + ngx_events_commands, /* module directives */ + NGX_CORE_MODULE_TYPE, /* module type */ + NULL /* init module */ +}; + + + +static ngx_command_t ngx_event_commands[] = { + + {ngx_string("connections"), + NGX_EVENT_CONF|NGX_CONF_TAKE1, + ngx_conf_set_num_slot, + 0, + addressof(ngx_event_connections), + NULL}, + +#if 0 + {ngx_string("type"), + NGX_EVENT_CONF|NGX_CONF_TAKE1, + ngx_event_set_type, + 0, + 0, + NULL}, +#endif + + {ngx_string(""), 0, NULL, 0, 0, NULL} +}; + + +ngx_module_t ngx_event_module = { + NULL, /* module context */ + 0, /* module index */ + ngx_events_commands, /* module directives */ + NGX_EVENT_MODULE_TYPE, /* module type */ + NULL /* init module */ +}; + + + void ngx_pre_thread(ngx_array_t *ls, ngx_pool_t *pool, ngx_log_t *log) { int i, fd; @@ -173,6 +237,7 @@ void ngx_pre_thread(ngx_array_t *ls, ngx } } + void ngx_worker(ngx_log_t *log) { for ( ;; ) { @@ -181,3 +246,44 @@ void ngx_worker(ngx_log_t *log) ngx_process_events(log); } } + + +static char *ngx_events_init(ngx_pool_t *pool) +{ + ngx_event_connections = -1; + ngx_event_type = -1; + + return NGX_CONF_OK; +} + + +static char *ngx_events_postconf(ngx_pool_t *pool) +{ + if (ngx_event_connections == -1) { + ngx_event_connections = 512; + } + + return NGX_CONF_OK; +} + + +static char *ngx_events_block(ngx_conf_t *cf, ngx_command_t *cmd, char *conf) +{ + char *rv; + ngx_conf_t pcf; + +#if 0 + *(ngx_events_conf_ctx_t **) conf = ctx; +#endif + + pcf = *cf; + cf->module_type = NGX_EVENT_MODULE_TYPE; + cf->cmd_type = NGX_EVENT_CONF; + rv = ngx_conf_parse(cf, NULL); + *cf = pcf; + + if (rv != NGX_CONF_OK) + return rv; + + return NGX_CONF_OK; +}