Mercurial > hg > nginx
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 } |