comparison 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
comparison
equal deleted inserted replaced
167:8aef3c72e5da 168:ba5dbb949603
36 } 36 }
37 37
38 pc->cached = 0; 38 pc->cached = 0;
39 pc->connection = NULL; 39 pc->connection = NULL;
40 40
41 if (pc->peers->number > 1) { 41 if (pc->peers->number == 1) {
42 peer = &pc->peers->peers[0];
43
44 } else {
42 45
43 /* there are several peers */ 46 /* there are several peers */
44 47
45 if (pc->tries == pc->peers->number) { 48 if (pc->tries == pc->peers->number) {
46 49
51 if (pc->peers->current >= pc->peers->number) { 54 if (pc->peers->current >= pc->peers->number) {
52 pc->peers->current = 0; 55 pc->peers->current = 0;
53 } 56 }
54 } 57 }
55 58
56 if (pc->peers->max_fails > 0) { 59 if (pc->peers->max_fails == 0) {
60 peer = &pc->peers->peers[pc->cur_peer];
61
62 } else {
57 63
58 /* the peers support a fault tolerance */ 64 /* the peers support a fault tolerance */
59 65
60 for ( ;; ) { 66 for ( ;; ) {
61 peer = &pc->peers->peers[pc->cur_peer]; 67 peer = &pc->peers->peers[pc->cur_peer];
81 } 87 }
82 } 88 }
83 } 89 }
84 } 90 }
85 91
86 peer = &pc->peers->peers[pc->cur_peer];
87
88 /* ngx_unlock_mutex(pc->peers->mutex); */ 92 /* ngx_unlock_mutex(pc->peers->mutex); */
89 93
90 #if 0
91 pc->addr_port_text = peer->addr_port_text;
92 #endif
93 94
94 s = ngx_socket(AF_INET, SOCK_STREAM, IPPROTO_IP, 0); 95 s = ngx_socket(AF_INET, SOCK_STREAM, IPPROTO_IP, 0);
95 96
96 if (s == -1) { 97 if (s == -1) {
97 ngx_log_error(NGX_LOG_ALERT, pc->log, ngx_socket_errno, 98 ngx_log_error(NGX_LOG_ALERT, pc->log, ngx_socket_errno,
261 } 262 }
262 263
263 264
264 void ngx_event_connect_peer_failed(ngx_peer_connection_t *pc) 265 void ngx_event_connect_peer_failed(ngx_peer_connection_t *pc)
265 { 266 {
267 time_t now;
268
269 now = ngx_time();
270
271 /* ngx_lock_mutex(pc->peers->mutex); */
272
273 pc->peers->peers[pc->cur_peer].fails++;
274 pc->peers->peers[pc->cur_peer].accessed = now;
275
276 /* ngx_unlock_mutex(pc->peers->mutex); */
277
266 pc->cur_peer++; 278 pc->cur_peer++;
267 279
268 if (pc->cur_peer >= pc->peers->number) { 280 if (pc->cur_peer >= pc->peers->number) {
269 pc->cur_peer = 0; 281 pc->cur_peer = 0;
270 } 282 }