comparison src/http/ngx_http.c @ 417:0526206251f6

nginx-0.0.10-2004-09-07-19:29:22 import
author Igor Sysoev <igor@sysoev.ru>
date Tue, 07 Sep 2004 15:29:22 +0000
parents b9bd635011de
children 47709bff4468
comparison
equal deleted inserted replaced
416:b9bd635011de 417:0526206251f6
498 } 498 }
499 499
500 in_addr = in_port[p].addrs.elts; 500 in_addr = in_port[p].addrs.elts;
501 while (a < in_port[p].addrs.nelts) { 501 while (a < in_port[p].addrs.nelts) {
502 502
503 if (!(ls = ngx_push_array(&cf->cycle->listening))) { 503 ls = ngx_listening_inet_stream_socket(cf, in_addr[a].addr,
504 in_port[p].port);
505 if (ls == NULL) {
504 return NGX_CONF_ERROR; 506 return NGX_CONF_ERROR;
505 } 507 }
506 508
507 ngx_memzero(ls, sizeof(ngx_listening_t));
508
509 addr_in = ngx_pcalloc(cf->pool, sizeof(struct sockaddr_in));
510 if (addr_in == NULL) {
511 return NGX_CONF_ERROR;
512 }
513
514 #if (HAVE_SIN_LEN)
515 addr_in->sin_len = sizeof(struct sockaddr_in);
516 #endif
517 addr_in->sin_family = AF_INET;
518 addr_in->sin_addr.s_addr = in_addr[a].addr;
519 addr_in->sin_port = htons((u_short) in_port[p].port);
520
521 ls->addr_text.data = ngx_palloc(cf->pool, INET_ADDRSTRLEN + 6);
522 if (ls->addr_text.data == NULL) {
523 return NGX_CONF_ERROR;
524 }
525
526 ls->addr_text.len = ngx_inet_ntop(AF_INET, &in_addr[a].addr,
527 ls->addr_text.data,
528 INET_ADDRSTRLEN),
529
530 ls->addr_text.len += ngx_snprintf((char *) ls->addr_text.data
531 + ls->addr_text.len,
532 6, ":%d", in_port[p].port);
533
534 ls->fd = (ngx_socket_t) -1;
535 ls->family = AF_INET;
536 ls->type = SOCK_STREAM;
537 ls->protocol = IPPROTO_IP;
538 #if (WIN32)
539 ls->flags = WSA_FLAG_OVERLAPPED;
540 #endif
541 ls->sockaddr = (struct sockaddr *) addr_in;
542 ls->socklen = sizeof(struct sockaddr_in);
543 ls->addr = offsetof(struct sockaddr_in, sin_addr);
544 ls->addr_text_max_len = INET_ADDRSTRLEN;
545 ls->backlog = -1; 509 ls->backlog = -1;
546 #if 0 510 #if 0
547 #if 0 511 #if 0
548 ls->nonblocking = 1; 512 ls->nonblocking = 1;
549 #else 513 #else