Mercurial > hg > nginx-quic
comparison src/http/modules/proxy/ngx_http_event_proxy_handler.c @ 86:3973260705cc
nginx-0.0.1-2003-05-12-19:52:24 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Mon, 12 May 2003 15:52:24 +0000 |
parents | fab4cb00fe5b |
children |
comparison
equal
deleted
inserted
replaced
85:3549c2bf9eaf | 86:3973260705cc |
---|---|
479 } | 479 } |
480 | 480 |
481 | 481 |
482 static int ngx_http_proxy_connect(ngx_http_proxy_ctx_t *p) | 482 static int ngx_http_proxy_connect(ngx_http_proxy_ctx_t *p) |
483 { | 483 { |
484 int rc, event; | 484 int rc, event, instance; |
485 struct sockaddr_in *addr; | 485 struct sockaddr_in *addr; |
486 ngx_err_t err; | 486 ngx_err_t err; |
487 ngx_socket_t s; | 487 ngx_socket_t s; |
488 ngx_event_t *rev, *wev; | 488 ngx_event_t *rev, *wev; |
489 ngx_connection_t *c; | 489 ngx_connection_t *c; |
588 | 588 |
589 c = &ngx_connections[s]; | 589 c = &ngx_connections[s]; |
590 rev = &ngx_read_events[s]; | 590 rev = &ngx_read_events[s]; |
591 wev = &ngx_write_events[s]; | 591 wev = &ngx_write_events[s]; |
592 | 592 |
593 instance = rev->instance; | |
594 | |
593 ngx_memzero(c, sizeof(ngx_connection_t)); | 595 ngx_memzero(c, sizeof(ngx_connection_t)); |
594 ngx_memzero(rev, sizeof(ngx_event_t)); | 596 ngx_memzero(rev, sizeof(ngx_event_t)); |
595 ngx_memzero(wev, sizeof(ngx_event_t)); | 597 ngx_memzero(wev, sizeof(ngx_event_t)); |
596 | 598 |
597 rev->index = wev->index = NGX_INVALID_INDEX; | 599 rev->index = wev->index = NGX_INVALID_INDEX; |
598 rev->data = wev->data = c; | 600 rev->data = wev->data = c; |
599 c->read = rev; | 601 c->read = rev; |
600 c->write = wev; | 602 c->write = wev; |
601 rev->first = wev->first = 1; | 603 |
604 rev->instance = wev->instance = !instance; | |
605 | |
602 rev->log = wev->log = c->log = p->log; | 606 rev->log = wev->log = c->log = p->log; |
603 c->fd = s; | 607 c->fd = s; |
604 wev->close_handler = rev->close_handler = ngx_event_close_connection; | 608 wev->close_handler = rev->close_handler = ngx_event_close_connection; |
605 | 609 |
606 if (ngx_event_flags & NGX_HAVE_EDGE_EVENT) { | 610 if (ngx_event_flags & NGX_HAVE_EDGE_EVENT) { |
1000 ngx_http_request_t *r; | 1004 ngx_http_request_t *r; |
1001 | 1005 |
1002 r = p->request; | 1006 r = p->request; |
1003 | 1007 |
1004 for ( ;; ) { | 1008 for ( ;; ) { |
1005 rc = ngx_read_http_header_line(r, p->header_in); | 1009 rc = ngx_parse_http_header_line(r, p->header_in); |
1006 | 1010 |
1007 /* a header line has been parsed successfully */ | 1011 /* a header line has been parsed successfully */ |
1008 | 1012 |
1009 if (rc == NGX_OK) { | 1013 if (rc == NGX_OK) { |
1010 if (ngx_http_proxy_process_upstream_header_line(p) == NGX_ERROR) { | 1014 if (ngx_http_proxy_process_upstream_header_line(p) == NGX_ERROR) { |