Mercurial > hg > nginx
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; |