Mercurial > hg > nginx
diff src/event/ngx_event_connect.c @ 168:ba5dbb949603
nginx-0.0.1-2003-10-31-10:10:36 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Fri, 31 Oct 2003 07:10:36 +0000 |
parents | 8aef3c72e5da |
children | edf29bb717da |
line wrap: on
line diff
--- a/src/event/ngx_event_connect.c Thu Oct 30 16:51:33 2003 +0000 +++ b/src/event/ngx_event_connect.c Fri Oct 31 07:10:36 2003 +0000 @@ -38,7 +38,10 @@ pc->cached = 0; pc->connection = NULL; - if (pc->peers->number > 1) { + if (pc->peers->number == 1) { + peer = &pc->peers->peers[0]; + + } else { /* there are several peers */ @@ -53,7 +56,10 @@ } } - if (pc->peers->max_fails > 0) { + if (pc->peers->max_fails == 0) { + peer = &pc->peers->peers[pc->cur_peer]; + + } else { /* the peers support a fault tolerance */ @@ -83,13 +89,8 @@ } } - peer = &pc->peers->peers[pc->cur_peer]; - /* 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); @@ -263,6 +264,17 @@ void ngx_event_connect_peer_failed(ngx_peer_connection_t *pc) { + time_t now; + + now = ngx_time(); + + /* ngx_lock_mutex(pc->peers->mutex); */ + + pc->peers->peers[pc->cur_peer].fails++; + pc->peers->peers[pc->cur_peer].accessed = now; + + /* ngx_unlock_mutex(pc->peers->mutex); */ + pc->cur_peer++; if (pc->cur_peer >= pc->peers->number) {