comparison src/event/ngx_event_connect.c @ 162:96993d4d5067

nginx-0.0.1-2003-10-28-00:01:00 import
author Igor Sysoev <igor@sysoev.ru>
date Mon, 27 Oct 2003 21:01:00 +0000
parents 88abd07d9f62
children 84036764e215
comparison
equal deleted inserted replaced
161:88abd07d9f62 162:96993d4d5067
187 rc = connect(s, (struct sockaddr *) &addr, sizeof(struct sockaddr_in)); 187 rc = connect(s, (struct sockaddr *) &addr, sizeof(struct sockaddr_in));
188 188
189 if (rc == -1) { 189 if (rc == -1) {
190 err = ngx_socket_errno; 190 err = ngx_socket_errno;
191 if (err != NGX_EINPROGRESS) { 191 if (err != NGX_EINPROGRESS) {
192 ngx_log_error(NGX_LOG_CRIT, pc->log, err, "connect() failed"); 192 ngx_log_error(NGX_LOG_ERR, pc->log, err, "connect() failed");
193 193
194 if (ngx_close_socket(s) == -1) { 194 if (ngx_close_socket(s) == -1) {
195 ngx_log_error(NGX_LOG_ALERT, pc->log, ngx_socket_errno, 195 ngx_log_error(NGX_LOG_ALERT, pc->log, ngx_socket_errno,
196 ngx_close_socket_n " failed"); 196 ngx_close_socket_n " failed");
197 } 197 }
209 209
210 } else { /* select, poll, /dev/poll */ 210 } else { /* select, poll, /dev/poll */
211 event = NGX_LEVEL_EVENT; 211 event = NGX_LEVEL_EVENT;
212 } 212 }
213 213
214 if (ngx_add_event(rev, NGX_READ_EVENT, event) != NGX_OK) {
215 return NGX_ERROR;
216 }
217
214 if (rc == -1) { 218 if (rc == -1) {
215 219
216 /* NGX_EINPROGRESS */ 220 /* NGX_EINPROGRESS */
217 221
218 if (ngx_add_event(wev, NGX_WRITE_EVENT, event) != NGX_OK) { 222 if (ngx_add_event(wev, NGX_WRITE_EVENT, event) != NGX_OK) {
221 225
222 return NGX_AGAIN; 226 return NGX_AGAIN;
223 } 227 }
224 228
225 wev->ready = 1; 229 wev->ready = 1;
226
227 if (ngx_add_event(rev, NGX_READ_EVENT, event) != NGX_OK) {
228 return NGX_ERROR;
229 }
230 230
231 return NGX_OK; 231 return NGX_OK;
232 } 232 }
233 233
234 234