Mercurial > hg > nginx
comparison src/event/ngx_event_timer.c @ 113:d7f606e25b99
nginx-0.0.1-2003-07-04-19:10:33 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Fri, 04 Jul 2003 15:10:33 +0000 |
parents | b5be4b0448d3 |
children | ac69ab96328d |
comparison
equal
deleted
inserted
replaced
112:da763a85be66 | 113:d7f606e25b99 |
---|---|
7 static ngx_event_t *ngx_timer_queue; | 7 static ngx_event_t *ngx_timer_queue; |
8 static int ngx_timer_cur_queue; | 8 static int ngx_timer_cur_queue; |
9 static int ngx_timer_queue_num; | 9 static int ngx_timer_queue_num; |
10 | 10 |
11 | 11 |
12 int ngx_event_timer_init(ngx_log_t *log) | 12 int ngx_event_timer_init(ngx_cycle_t *cycle) |
13 { | 13 { |
14 int i; | 14 int i; |
15 ngx_event_t *new_queue; | 15 ngx_event_t *new_queue; |
16 ngx_event_conf_t *ecf; | 16 ngx_event_conf_t *ecf; |
17 | 17 |
18 ecf = ngx_event_get_conf(ngx_event_core_module); | 18 ecf = ngx_event_get_conf(cycle->conf_ctx, ngx_event_core_module); |
19 | 19 |
20 if (ngx_timer_queue_num < ecf->timer_queues) { | 20 if (ngx_timer_queue_num < ecf->timer_queues) { |
21 ngx_test_null(new_queue, | 21 ngx_test_null(new_queue, |
22 ngx_alloc(ecf->timer_queues * sizeof(ngx_event_t), log), | 22 ngx_alloc(ecf->timer_queues * sizeof(ngx_event_t), |
23 cycle->log), | |
23 NGX_ERROR); | 24 NGX_ERROR); |
24 | 25 |
25 for (i = 0; i < ngx_timer_queue_num; i++) { | 26 for (i = 0; i < ngx_timer_queue_num; i++) { |
26 new_queue[i] = ngx_timer_queue[i]; | 27 new_queue[i] = ngx_timer_queue[i]; |
27 } | 28 } |
37 | 38 |
38 for (/* void */; i < ngx_timer_queue_num; i++) { | 39 for (/* void */; i < ngx_timer_queue_num; i++) { |
39 ngx_timer_queue[i].timer_prev = &ngx_timer_queue[i]; | 40 ngx_timer_queue[i].timer_prev = &ngx_timer_queue[i]; |
40 ngx_timer_queue[i].timer_next = &ngx_timer_queue[i]; | 41 ngx_timer_queue[i].timer_next = &ngx_timer_queue[i]; |
41 } | 42 } |
43 | |
44 } else if (ngx_timer_queue_num > ecf->timer_queues) { | |
45 /* STUB */ | |
46 ngx_log_error(NGX_LOG_ALERT, cycle->log, 0, "NOT READY"); | |
47 exit(1); | |
42 } | 48 } |
43 | 49 |
44 return NGX_OK;; | 50 return NGX_OK;; |
45 } | 51 } |
46 | 52 |
47 | 53 |
48 void ngx_event_timer_done(ngx_log_t *log) | 54 void ngx_event_timer_done(ngx_cycle_t *cycle) |
49 { | 55 { |
50 ngx_free(ngx_timer_queue); | 56 ngx_free(ngx_timer_queue); |
51 ngx_timer_queue = NULL; | 57 ngx_timer_queue = NULL; |
58 ngx_timer_queue_num = 0; | |
52 } | 59 } |
53 | 60 |
54 | 61 |
55 void ngx_event_add_timer(ngx_event_t *ev, ngx_msec_t timer) | 62 void ngx_event_add_timer(ngx_event_t *ev, ngx_msec_t timer) |
56 { | 63 { |