comparison src/event/modules/ngx_poll_module.c @ 381:02a511569afb

nginx-0.0.7-2004-07-07-19:01:00 import
author Igor Sysoev <igor@sysoev.ru>
date Wed, 07 Jul 2004 15:01:00 +0000
parents 5ce6561246a5
children 537de4dca8ca
comparison
equal deleted inserted replaced
380:5ce6561246a5 381:02a511569afb
12 static ngx_int_t ngx_poll_init(ngx_cycle_t *cycle); 12 static ngx_int_t ngx_poll_init(ngx_cycle_t *cycle);
13 static void ngx_poll_done(ngx_cycle_t *cycle); 13 static void ngx_poll_done(ngx_cycle_t *cycle);
14 static ngx_int_t ngx_poll_add_event(ngx_event_t *ev, int event, u_int flags); 14 static ngx_int_t ngx_poll_add_event(ngx_event_t *ev, int event, u_int flags);
15 static ngx_int_t ngx_poll_del_event(ngx_event_t *ev, int event, u_int flags); 15 static ngx_int_t ngx_poll_del_event(ngx_event_t *ev, int event, u_int flags);
16 static ngx_int_t ngx_poll_process_events(ngx_cycle_t *cycle); 16 static ngx_int_t ngx_poll_process_events(ngx_cycle_t *cycle);
17 static char *ngx_poll_init_conf(ngx_cycle_t *cycle, void *conf);
17 18
18 19
19 static struct pollfd *event_list; 20 static struct pollfd *event_list;
20 static int nevents; 21 static int nevents;
21 22
29 static ngx_str_t poll_name = ngx_string("poll"); 30 static ngx_str_t poll_name = ngx_string("poll");
30 31
31 ngx_event_module_t ngx_poll_module_ctx = { 32 ngx_event_module_t ngx_poll_module_ctx = {
32 &poll_name, 33 &poll_name,
33 NULL, /* create configuration */ 34 NULL, /* create configuration */
34 NULL, /* init configuration */ 35 ngx_poll_init_conf, /* init configuration */
35 36
36 { 37 {
37 ngx_poll_add_event, /* add an event */ 38 ngx_poll_add_event, /* add an event */
38 ngx_poll_del_event, /* delete an event */ 39 ngx_poll_del_event, /* delete an event */
39 ngx_poll_add_event, /* enable an event */ 40 ngx_poll_add_event, /* enable an event */
575 ngx_event_process_posted(cycle); 576 ngx_event_process_posted(cycle);
576 } 577 }
577 578
578 return nready; 579 return nready;
579 } 580 }
581
582
583 static char *ngx_poll_init_conf(ngx_cycle_t *cycle, void *conf)
584 {
585 ngx_event_conf_t *ecf;
586
587 ecf = ngx_event_get_conf(cycle->conf_ctx, ngx_event_core_module);
588
589 if (ecf->use != ngx_poll_module.ctx_index) {
590 return NGX_CONF_OK;
591 }
592
593 #if (NGX_THREADS)
594
595 ngx_log_error(NGX_LOG_EMERG, cycle->log, 0,
596 "poll() is not supported in the threaded mode");
597 return NGX_CONF_ERROR;
598
599 #else
600
601 return NGX_CONF_OK;
602
603 #endif
604 }