Mercurial > hg > nginx-quic
comparison src/core/nginx.c @ 186:c1f3a3c7c5db
nginx-0.0.1-2003-11-17-00:49:42 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Sun, 16 Nov 2003 21:49:42 +0000 |
parents | d5f50cefc322 |
children | 02a715e85df1 |
comparison
equal
deleted
inserted
replaced
185:d5f50cefc322 | 186:c1f3a3c7c5db |
---|---|
95 | 95 |
96 if (ngx_os_init(log) == NGX_ERROR) { | 96 if (ngx_os_init(log) == NGX_ERROR) { |
97 return 1; | 97 return 1; |
98 } | 98 } |
99 | 99 |
100 #if 0 | |
100 stub_init(log); | 101 stub_init(log); |
102 #endif | |
101 | 103 |
102 ngx_max_module = 0; | 104 ngx_max_module = 0; |
103 for (i = 0; ngx_modules[i]; i++) { | 105 for (i = 0; ngx_modules[i]; i++) { |
104 ngx_modules[i]->index = ngx_max_module++; | 106 ngx_modules[i]->index = ngx_max_module++; |
105 } | 107 } |
227 | 229 |
228 ngx_cycle = cycle; | 230 ngx_cycle = cycle; |
229 break; | 231 break; |
230 } | 232 } |
231 } | 233 } |
232 | |
233 return 0; | |
234 } | 234 } |
235 | 235 |
236 | 236 |
237 static ngx_cycle_t *ngx_init_cycle(ngx_cycle_t *old_cycle, ngx_log_t *log) | 237 static ngx_cycle_t *ngx_init_cycle(ngx_cycle_t *old_cycle, ngx_log_t *log) |
238 { | 238 { |
511 ngx_old_cycles.pool = ngx_temp_pool; | 511 ngx_old_cycles.pool = ngx_temp_pool; |
512 | 512 |
513 ngx_cleaner_event.event_handler = ngx_clean_old_cycles; | 513 ngx_cleaner_event.event_handler = ngx_clean_old_cycles; |
514 ngx_cleaner_event.log = cycle->log; | 514 ngx_cleaner_event.log = cycle->log; |
515 ngx_cleaner_event.data = &dumb; | 515 ngx_cleaner_event.data = &dumb; |
516 dumb.fd = -1; | 516 dumb.fd = (ngx_socket_t) -1; |
517 } | 517 } |
518 | 518 |
519 ngx_temp_pool->log = cycle->log; | 519 ngx_temp_pool->log = cycle->log; |
520 | 520 |
521 old = ngx_push_array(&ngx_old_cycles); | 521 old = ngx_push_array(&ngx_old_cycles); |
539 ngx_err_t err; | 539 ngx_err_t err; |
540 ngx_socket_t s; | 540 ngx_socket_t s; |
541 ngx_listening_t *ls; | 541 ngx_listening_t *ls; |
542 | 542 |
543 reuseaddr = 1; | 543 reuseaddr = 1; |
544 #if (NGX_SUPPRESS_WARN) | |
545 failed = 0; | |
546 #endif | |
544 | 547 |
545 /* TODO: times configurable */ | 548 /* TODO: times configurable */ |
546 | 549 |
547 for (times = 10; times; times--) { | 550 for (times = 10; times; times--) { |
548 failed = 0; | 551 failed = 0; |
549 | 552 |
550 /* for each listening socket */ | 553 /* for each listening socket */ |
551 | 554 |
552 ls = cycle->listening.elts; | 555 ls = cycle->listening.elts; |
553 for (i = 0; i < cycle->listening.nelts; i++) { | 556 for (i = 0; i < cycle->listening.nelts; i++) { |
595 return NGX_ERROR; | 598 return NGX_ERROR; |
596 } | 599 } |
597 | 600 |
598 /* TODO: close on exit */ | 601 /* TODO: close on exit */ |
599 | 602 |
603 if (!(ngx_event_flags & NGX_USE_AIO_EVENT)) { | |
604 if (ngx_nonblocking(s) == -1) { | |
605 ngx_log_error(NGX_LOG_EMERG, log, ngx_socket_errno, | |
606 ngx_nonblocking_n " %s failed", | |
607 ls[i].addr_text.data); | |
608 return NGX_ERROR; | |
609 } | |
610 } | |
611 | |
612 #if 0 | |
600 if (ls[i].nonblocking) { | 613 if (ls[i].nonblocking) { |
601 if (ngx_nonblocking(s) == -1) { | 614 if (ngx_nonblocking(s) == -1) { |
602 ngx_log_error(NGX_LOG_EMERG, log, ngx_socket_errno, | 615 ngx_log_error(NGX_LOG_EMERG, log, ngx_socket_errno, |
603 ngx_nonblocking_n " %s failed", | 616 ngx_nonblocking_n " %s failed", |
604 ls[i].addr_text.data); | 617 ls[i].addr_text.data); |
605 return NGX_ERROR; | 618 return NGX_ERROR; |
606 } | 619 } |
607 } | 620 } |
621 #endif | |
608 | 622 |
609 if (bind(s, ls[i].sockaddr, ls[i].socklen) == -1) { | 623 if (bind(s, ls[i].sockaddr, ls[i].socklen) == -1) { |
610 err = ngx_socket_errno; | 624 err = ngx_socket_errno; |
611 ngx_log_error(NGX_LOG_EMERG, log, err, | 625 ngx_log_error(NGX_LOG_EMERG, log, err, |
612 "bind() to %s failed", ls[i].addr_text.data); | 626 "bind() to %s failed", ls[i].addr_text.data); |