diff options
| author | Igor Sysoev <igor@sysoev.ru> | 2003-10-02 05:39:37 +0000 |
|---|---|---|
| committer | Igor Sysoev <igor@sysoev.ru> | 2003-10-02 05:39:37 +0000 |
| commit | 87a01ea908356173d6387aea2af94ad0fe236bb4 (patch) | |
| tree | 1abe9d49f56322c179e224b9154a9c871d13dacb /src/event/ngx_event_connect.c | |
| parent | 2cdd7e9e5bd7c0ddcc5dbf57aa3ffb998fd3335f (diff) | |
| download | nginx-87a01ea908356173d6387aea2af94ad0fe236bb4.tar.gz nginx-87a01ea908356173d6387aea2af94ad0fe236bb4.tar.bz2 | |
nginx-0.0.1-2003-10-02-09:39:37 import
Diffstat (limited to 'src/event/ngx_event_connect.c')
| -rw-r--r-- | src/event/ngx_event_connect.c | 32 |
1 files changed, 20 insertions, 12 deletions
diff --git a/src/event/ngx_event_connect.c b/src/event/ngx_event_connect.c index 17ef6a0be..f9ed3adc5 100644 --- a/src/event/ngx_event_connect.c +++ b/src/event/ngx_event_connect.c @@ -1,4 +1,7 @@ +#include <ngx_config.h> +#include <ngx_core.h> +#include <ngx_event.h> #include <ngx_event_connect.h> @@ -6,10 +9,14 @@ int ngx_event_connect_peer(ngx_peer_connection_t *pc) { + int rc, instance; time_t now; - ngx_peer_r *peer; + ngx_err_t err; + ngx_peer_t *peer; ngx_socket_t s; - struct sockaddr_in *addr; + ngx_event_t *rev, *wev; + ngx_connection_t *c; + struct sockaddr_in addr; now = ngx_time(); @@ -31,6 +38,8 @@ int ngx_event_connect_peer(ngx_peer_connection_t *pc) pc->cached = 0; pc->connection = NULL; + peer = &pc->peers->peers[0]; + if (pc->peers->number > 1) { /* there are several peers */ @@ -41,7 +50,7 @@ int ngx_event_connect_peer(ngx_peer_connection_t *pc) pc->cur_peer = pc->peers->current++; - if (cp->peers->current >= cp->peers->number) { + if (pc->peers->current >= pc->peers->number) { pc->peers->current = 0; } } @@ -69,6 +78,7 @@ int ngx_event_connect_peer(ngx_peer_connection_t *pc) if (pc->tries == 0) { /* ngx_unlock_mutex(pc->peers->mutex); */ + return NGX_ERROR; } } @@ -77,7 +87,9 @@ int ngx_event_connect_peer(ngx_peer_connection_t *pc) /* ngx_unlock_mutex(pc->peers->mutex); */ +#if 0 pc->addr_port_text = peer->addr_port_text; +#endif s = ngx_socket(AF_INET, SOCK_STREAM, IPPROTO_IP, 0); @@ -163,13 +175,11 @@ int ngx_event_connect_peer(ngx_peer_connection_t *pc) } } - addr = p->sockaddr; + addr.sin_family = AF_INET; + addr.sin_addr.s_addr = peer->addr; + addr.sin_port = htons(peer->port); - addr->sin_family = AF_INET; - addr->sin_addr.s_addr = peer->addr; - addr->sin_port = htons(peer->port); - - rc = connect(s, p->sockaddr, sizeof(struct sockaddr_in)); + rc = connect(s, (struct sockaddr *) &addr, sizeof(struct sockaddr_in)); if (rc == -1) { err = ngx_socket_errno; @@ -185,9 +195,7 @@ int ngx_event_connect_peer(ngx_peer_connection_t *pc) } } - c->data = ???; - - + return NGX_OK; } |
