comparison src/event/ngx_event_connect.c @ 381:02a511569afb

nginx-0.0.7-2004-07-07-19:01:00 import
author Igor Sysoev <igor@sysoev.ru>
date Wed, 07 Jul 2004 15:01:00 +0000
parents 5ce6561246a5
children 0526206251f6
comparison
equal deleted inserted replaced
380:5ce6561246a5 381:02a511569afb
9 /* AF_INET only */ 9 /* AF_INET only */
10 10
11 int ngx_event_connect_peer(ngx_peer_connection_t *pc) 11 int ngx_event_connect_peer(ngx_peer_connection_t *pc)
12 { 12 {
13 int rc; 13 int rc;
14 ngx_uint_t instance, rinstance, winstance; 14 ngx_uint_t instance;
15 u_int event; 15 u_int event;
16 time_t now; 16 time_t now;
17 ngx_err_t err; 17 ngx_err_t err;
18 ngx_peer_t *peer; 18 ngx_peer_t *peer;
19 ngx_socket_t s; 19 ngx_socket_t s;
28 28
29 if (pc->peers->last_cached) { 29 if (pc->peers->last_cached) {
30 30
31 /* cached connection */ 31 /* cached connection */
32 32
33 pc->connection = pc->peers->cached[pc->peers->last_cached]; 33 c = pc->peers->cached[pc->peers->last_cached];
34 pc->peers->last_cached--; 34 pc->peers->last_cached--;
35 35
36 /* ngx_unlock_mutex(pc->peers->mutex); */ 36 /* ngx_unlock_mutex(pc->peers->mutex); */
37 37
38 #if (NGX_THREADS)
39 c->read->lock = c->read->own_lock;
40 c->write->lock = c->write->own_lock;
41 #endif
42
43 pc->connection = c;
38 pc->cached = 1; 44 pc->cached = 1;
39 return NGX_OK; 45 return NGX_OK;
40 } 46 }
41 47
42 pc->cached = 0; 48 pc->cached = 0;
178 wev = &ngx_cycle->write_events[s]; 184 wev = &ngx_cycle->write_events[s];
179 185
180 #endif 186 #endif
181 187
182 instance = rev->instance; 188 instance = rev->instance;
183 rinstance = rev->returned_instance;
184 winstance = wev->returned_instance;
185 189
186 #if (NGX_THREADS) 190 #if (NGX_THREADS)
187 191
188 if (*(&c->lock)) { 192 if (*(&c->lock)) {
189 ngx_log_debug1(NGX_LOG_DEBUG_EVENT, pc->log, 0, 193 ngx_log_debug1(NGX_LOG_DEBUG_EVENT, pc->log, 0,
196 200
197 ngx_memzero(c, sizeof(ngx_connection_t)); 201 ngx_memzero(c, sizeof(ngx_connection_t));
198 ngx_memzero(rev, sizeof(ngx_event_t)); 202 ngx_memzero(rev, sizeof(ngx_event_t));
199 ngx_memzero(wev, sizeof(ngx_event_t)); 203 ngx_memzero(wev, sizeof(ngx_event_t));
200 204
201 if (ngx_event_flags & NGX_HAVE_INSTANCE_EVENT) { 205 rev->instance = !instance;
202 rev->use_instance = 1; 206 wev->instance = !instance;
203 rev->instance = (u_char) !instance;
204 rev->returned_instance = (u_char) rinstance;
205
206 wev->use_instance = 1;
207 wev->instance = (u_char) !instance;
208 wev->returned_instance = (u_char) winstance;
209 }
210 207
211 rev->index = NGX_INVALID_INDEX; 208 rev->index = NGX_INVALID_INDEX;
212 wev->index = NGX_INVALID_INDEX; 209 wev->index = NGX_INVALID_INDEX;
213 210
214 rev->data = c; 211 rev->data = c;