Mercurial > hg > nginx
comparison src/event/ngx_event_connect.c @ 323:ba876b26b76d
nginx-0.0.3-2004-04-21-22:54:33 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Wed, 21 Apr 2004 18:54:33 +0000 |
parents | 2e899477243a |
children | e366ba5db8f8 |
comparison
equal
deleted
inserted
replaced
322:ab2f8c9a2a45 | 323:ba876b26b76d |
---|---|
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; |
20 ngx_event_t *rev, *wev; | 20 ngx_event_t *rev, *wev; |
21 ngx_connection_t *c; | 21 ngx_connection_t *c; |
22 ngx_event_conf_t *ecf; | |
22 struct sockaddr_in addr; | 23 struct sockaddr_in addr; |
23 | 24 |
24 now = ngx_time(); | 25 now = ngx_time(); |
25 | 26 |
26 /* ngx_lock_mutex(pc->peers->mutex); */ | 27 /* ngx_lock_mutex(pc->peers->mutex); */ |
100 if (s == -1) { | 101 if (s == -1) { |
101 ngx_log_error(NGX_LOG_ALERT, pc->log, ngx_socket_errno, | 102 ngx_log_error(NGX_LOG_ALERT, pc->log, ngx_socket_errno, |
102 ngx_socket_n " failed"); | 103 ngx_socket_n " failed"); |
103 return NGX_ERROR; | 104 return NGX_ERROR; |
104 } | 105 } |
106 | |
107 | |
108 ecf = ngx_event_get_conf(ngx_cycle->conf_ctx, ngx_event_core_module); | |
109 | |
110 /* disable warning: Win32 SOCKET is u_int while UNIX socket is int */ | |
111 | |
112 if ((ngx_uint_t) s >= ecf->connections) { | |
113 | |
114 ngx_log_error(NGX_LOG_ALERT, pc->log, 0, | |
115 "socket() returned socket #%d while only %d " | |
116 "connections was configured, closing the socket", | |
117 s, ecf->connections); | |
118 | |
119 if (ngx_close_socket(s) == -1) { | |
120 ngx_log_error(NGX_LOG_ALERT, pc->log, ngx_socket_errno, | |
121 ngx_close_socket_n "failed"); | |
122 } | |
123 | |
124 /* TODO: sleep for some time */ | |
125 | |
126 return NGX_ERROR; | |
127 } | |
128 | |
105 | 129 |
106 if (pc->rcvbuf) { | 130 if (pc->rcvbuf) { |
107 if (setsockopt(s, SOL_SOCKET, SO_RCVBUF, | 131 if (setsockopt(s, SOL_SOCKET, SO_RCVBUF, |
108 (const void *) &pc->rcvbuf, sizeof(int)) == -1) { | 132 (const void *) &pc->rcvbuf, sizeof(int)) == -1) { |
109 ngx_log_error(NGX_LOG_ALERT, pc->log, ngx_socket_errno, | 133 ngx_log_error(NGX_LOG_ALERT, pc->log, ngx_socket_errno, |