comparison src/event/ngx_event_accept.c @ 114:ac69ab96328d

nginx-0.0.1-2003-07-07-10:11:50 import
author Igor Sysoev <igor@sysoev.ru>
date Mon, 07 Jul 2003 06:11:50 +0000
parents d7f606e25b99
children f6e3c5d019b6
comparison
equal deleted inserted replaced
113:d7f606e25b99 114:ac69ab96328d
15 ngx_socket_t s; 15 ngx_socket_t s;
16 ngx_event_t *rev, *wev; 16 ngx_event_t *rev, *wev;
17 ngx_connection_t *c, *ls; 17 ngx_connection_t *c, *ls;
18 ngx_event_conf_t *ecf; 18 ngx_event_conf_t *ecf;
19 19
20 ecf = ngx_event_get_conf(ngx_cycle.conf_ctx, ngx_event_core_module); 20 ecf = ngx_event_get_conf(ngx_cycle->conf_ctx, ngx_event_core_module);
21 21
22 ls = ev->data; 22 ls = ev->data;
23 23
24 ngx_log_debug(ev->log, "ngx_event_accept: accept ready: %d" _ 24 ngx_log_debug(ev->log, "ngx_event_accept: accept ready: %d" _
25 ev->available); 25 ev->available);
132 * so to find a connection we divide a socket number by 4. 132 * so to find a connection we divide a socket number by 4.
133 */ 133 */
134 134
135 if (s % 4) { 135 if (s % 4) {
136 ngx_log_error(NGX_LOG_EMERG, ls->log, 0, 136 ngx_log_error(NGX_LOG_EMERG, ls->log, 0,
137 ngx_socket_n " created socket %d", s); 137 ngx_socket_n
138 " created socket %d, not divisible by 4", s);
138 exit(1); 139 exit(1);
139 } 140 }
140 141
141 rev = &ngx_read_events[s / 4]; 142 c = &ngx_cycle->connections[s / 4];
142 wev = &ngx_write_events[s / 4]; 143 rev = &ngx_cycle->read_events[s / 4];
143 c = &ngx_connections[s / 4]; 144 wev = &ngx_cycle->write_events[s / 4];
144 #else 145 #else
145 rev = &ngx_read_events[s]; 146 c = &ngx_cycle->connections[s];
146 wev = &ngx_write_events[s]; 147 rev = &ngx_cycle->read_events[s];
147 c = &ngx_connections[s]; 148 wev = &ngx_cycle->write_events[s];
148 #endif 149 #endif
149 150
150 instance = rev->instance; 151 instance = rev->instance;
151 152
152 ngx_memzero(rev, sizeof(ngx_event_t)); 153 ngx_memzero(rev, sizeof(ngx_event_t));
176 } 177 }
177 178
178 c->ctx = ls->ctx; 179 c->ctx = ls->ctx;
179 c->servers = ls->servers; 180 c->servers = ls->servers;
180 181
182 #if 0
181 c->log = ngx_palloc(c->pool, sizeof(ngx_log_t)); 183 c->log = ngx_palloc(c->pool, sizeof(ngx_log_t));
182 if (c->log == NULL) { 184 if (c->log == NULL) {
183 return; 185 return;
184 } 186 }
185 ngx_memcpy(c->log, ev->log, sizeof(ngx_log_t)); 187 ngx_memcpy(c->log, ev->log, sizeof(ngx_log_t));
186 rev->log = wev->log = c->log; 188 #endif
189 rev->log = wev->log = c->log = ev->log;
187 190
188 /* TODO: x86: MT: lock xadd, MP: lock xadd, shared */ 191 /* TODO: x86: MT: lock xadd, MP: lock xadd, shared */
189 c->number = ngx_connection_counter++; 192 c->number = ngx_connection_counter++;
190 193
191 ngx_log_debug(ev->log, "accept: %d, %d" _ s _ c->number); 194 ngx_log_debug(ev->log, "accept: %d, %d" _ s _ c->number);