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);