Mercurial > hg > nginx
comparison src/event/ngx_event_timer.c @ 105:00bee6e7b485
nginx-0.0.1-2003-06-15-22:32:13 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Sun, 15 Jun 2003 18:32:13 +0000 |
parents | 6dfda4cf5200 |
children | b5be4b0448d3 |
comparison
equal
deleted
inserted
replaced
104:7db96f59bc29 | 105:00bee6e7b485 |
---|---|
10 | 10 |
11 | 11 |
12 int ngx_event_timer_init(ngx_log_t *log) | 12 int ngx_event_timer_init(ngx_log_t *log) |
13 { | 13 { |
14 int i; | 14 int i; |
15 ngx_event_t *new_queue; | |
15 ngx_event_conf_t *ecf; | 16 ngx_event_conf_t *ecf; |
16 | 17 |
17 ecf = ngx_event_get_conf(ngx_event_module); | 18 ecf = ngx_event_get_conf(ngx_event_module); |
18 | 19 |
19 ngx_timer_queue_num = ecf->timer_queues; | 20 if (ngx_timer_queue_num < ecf->timer_queues) { |
20 ngx_timer_cur_queue = 0; | 21 ngx_test_null(new_queue, |
22 ngx_alloc(ecf->timer_queues * sizeof(ngx_event_t), log), | |
23 NGX_ERROR); | |
21 | 24 |
22 ngx_test_null(ngx_timer_queue, | 25 for (i = 0; i < ngx_timer_queue_num; i++) { |
23 ngx_alloc(ngx_timer_queue_num * sizeof(ngx_event_t), log), | 26 new_queue[i] = ngx_timer_queue[i]; |
24 NGX_ERROR); | 27 } |
25 | 28 |
26 for (i = 0; i < ngx_timer_queue_num; i++) { | 29 if (ngx_timer_queue) { |
27 ngx_timer_queue[i].timer_prev = &ngx_timer_queue[i]; | 30 ngx_free(ngx_timer_queue); |
28 ngx_timer_queue[i].timer_next = &ngx_timer_queue[i]; | 31 } |
32 | |
33 ngx_timer_queue = new_queue; | |
34 | |
35 ngx_timer_queue_num = ecf->timer_queues; | |
36 ngx_timer_cur_queue = 0; | |
37 | |
38 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_next = &ngx_timer_queue[i]; | |
41 } | |
29 } | 42 } |
30 | 43 |
31 return NGX_OK;; | 44 return NGX_OK;; |
32 } | 45 } |
33 | 46 |
34 | 47 |
35 void ngx_event_timer_done(ngx_log_t *log) | 48 void ngx_event_timer_done(ngx_log_t *log) |
36 { | 49 { |
37 ngx_free(ngx_timer_queue); | 50 ngx_free(ngx_timer_queue); |
51 ngx_timer_queue = NULL; | |
38 } | 52 } |
39 | 53 |
40 | 54 |
41 void ngx_event_add_timer(ngx_event_t *ev, ngx_msec_t timer) | 55 void ngx_event_add_timer(ngx_event_t *ev, ngx_msec_t timer) |
42 { | 56 { |