aboutsummaryrefslogtreecommitdiff
path: root/src/core/ngx_cycle.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/ngx_cycle.c')
-rw-r--r--src/core/ngx_cycle.c276
1 files changed, 0 insertions, 276 deletions
diff --git a/src/core/ngx_cycle.c b/src/core/ngx_cycle.c
index 12c053fa1..29a327054 100644
--- a/src/core/ngx_cycle.c
+++ b/src/core/ngx_cycle.c
@@ -362,242 +362,6 @@ ngx_cycle_t *ngx_init_cycle(ngx_cycle_t *old_cycle)
}
-#if 0
-
-
-static ngx_int_t ngx_set_inherited_sockets(ngx_cycle_t *cycle, char **envp)
-{
- char *p, *v;
- ngx_socket_t s;
- ngx_listening_t *ls;
- struct sockaddr_in *addr_in;
-
- for ( /* void */ ; *envp; envp++) {
- if (ngx_strncmp(*envp, NGINX_VAR, NGINX_VAR_LEN) != 0) {
- continue;
- }
-
- ngx_log_error(NGX_LOG_INFO, cycle->log, 0,
- "using inherited sockets from \"%s\"", *envp);
-
- ngx_init_array(cycle->listening, cycle->pool,
- 10, sizeof(ngx_listening_t), NGX_ERROR);
-
- for (p = *envp + NGINX_VAR_LEN, v = p; *p; p++) {
- if (*p == ':' || *p == ';') {
- s = ngx_atoi(v, p - v);
- if (s == NGX_ERROR) {
- ngx_log_error(NGX_LOG_EMERG, cycle->log, 0,
- "invalid socket number \"%s\" "
- "in NGINX enviroment variable, "
- "ignoring the rest of the variable", v);
- break;
- }
- v = p + 1;
-
- if (!(ls = ngx_push_array(&cycle->listening))) {
- return NGX_ERROR;
- }
-
- ls->fd = s;
-
- /* AF_INET only */
-
- ls->sockaddr = ngx_palloc(cycle->pool,
- sizeof(struct sockaddr_in));
- if (ls->sockaddr == NULL) {
- return NGX_ERROR;
- }
-
- ls->socklen = sizeof(struct sockaddr_in);
- if (getsockname(s, ls->sockaddr, &ls->socklen) == -1) {
- ngx_log_error(NGX_LOG_CRIT, cycle->log, ngx_socket_errno,
- "getsockname() of the inherited "
- "socket #%d failed", s);
- ls->ignore = 1;
- continue;
- }
-
- addr_in = (struct sockaddr_in *) ls->sockaddr;
-
- if (addr_in->sin_family != AF_INET) {
- ngx_log_error(NGX_LOG_CRIT, cycle->log, ngx_socket_errno,
- "the inherited socket #%d has "
- "unsupported family", s);
- ls->ignore = 1;
- continue;
- }
- ls->addr_text_max_len = INET_ADDRSTRLEN;
-
- ls->addr_text.data = ngx_palloc(cycle->pool,
- ls->addr_text_max_len);
- if (ls->addr_text.data == NULL) {
- return NGX_ERROR;
- }
-
- addr_in->sin_len = 0;
-
- ls->family = addr_in->sin_family;
- ls->addr_text.len = ngx_sock_ntop(ls->family, ls->sockaddr,
- ls->addr_text.data,
- ls->addr_text_max_len);
- if (ls->addr_text.len == 0) {
- return NGX_ERROR;
- }
- }
- }
-
- break;
- }
-
- return NGX_OK;
-}
-
-
-static ngx_int_t ngx_open_listening_sockets(ngx_cycle_t *cycle)
-{
- int tries, failed, reuseaddr, i;
- ngx_err_t err;
- ngx_log_t *log;
- ngx_socket_t s;
- ngx_listening_t *ls;
-
- reuseaddr = 1;
-#if (NGX_SUPPRESS_WARN)
- failed = 0;
-#endif
-
- log = cycle->log;
-
- /* TODO: tries configurable */
-
- for (tries = 10; tries; tries--) {
- failed = 0;
-
- /* for each listening socket */
-
- ls = cycle->listening.elts;
- for (i = 0; i < cycle->listening.nelts; i++) {
-
- if (ls[i].ignore) {
- continue;
- }
-
- if (ls[i].fd != -1) {
- continue;
- }
-
- if (ls[i].inherited) {
-
- /* TODO: close on exit */
- /* TODO: nonblocking */
- /* TODO: deferred accept */
-
- continue;
- }
-
- s = ngx_socket(ls[i].family, ls[i].type, ls[i].protocol,
- ls[i].flags);
-
- if (s == -1) {
- ngx_log_error(NGX_LOG_EMERG, log, ngx_socket_errno,
- ngx_socket_n " %s failed", ls[i].addr_text.data);
- return NGX_ERROR;
- }
-
-#if (WIN32)
- /*
- * Winsock assignes a socket number divisible by 4
- * so to find a connection we divide a socket number by 4.
- */
-
- if (s % 4) {
- ngx_log_error(NGX_LOG_EMERG, ls->log, 0,
- ngx_socket_n " created socket %d", s);
- return NGX_ERROR;
- }
-#endif
-
- if (setsockopt(s, SOL_SOCKET, SO_REUSEADDR,
- (const void *) &reuseaddr, sizeof(int)) == -1) {
- ngx_log_error(NGX_LOG_EMERG, log, ngx_socket_errno,
- "setsockopt(SO_REUSEADDR) %s failed",
- ls[i].addr_text.data);
- return NGX_ERROR;
- }
-
- /* TODO: close on exit */
-
- if (!(ngx_event_flags & NGX_USE_AIO_EVENT)) {
- if (ngx_nonblocking(s) == -1) {
- ngx_log_error(NGX_LOG_EMERG, log, ngx_socket_errno,
- ngx_nonblocking_n " %s failed",
- ls[i].addr_text.data);
- return NGX_ERROR;
- }
- }
-
-#if 0
- if (ls[i].nonblocking) {
- if (ngx_nonblocking(s) == -1) {
- ngx_log_error(NGX_LOG_EMERG, log, ngx_socket_errno,
- ngx_nonblocking_n " %s failed",
- ls[i].addr_text.data);
- return NGX_ERROR;
- }
- }
-#endif
-
- if (bind(s, ls[i].sockaddr, ls[i].socklen) == -1) {
- err = ngx_socket_errno;
- ngx_log_error(NGX_LOG_EMERG, log, err,
- "bind() to %s failed", ls[i].addr_text.data);
-
- if (err != NGX_EADDRINUSE)
- return NGX_ERROR;
-
- if (ngx_close_socket(s) == -1)
- ngx_log_error(NGX_LOG_EMERG, log, ngx_socket_errno,
- ngx_close_socket_n " %s failed",
- ls[i].addr_text.data);
-
- failed = 1;
- continue;
- }
-
- if (listen(s, ls[i].backlog) == -1) {
- ngx_log_error(NGX_LOG_EMERG, log, ngx_socket_errno,
- "listen() to %s failed", ls[i].addr_text.data);
- return NGX_ERROR;
- }
-
- /* TODO: deferred accept */
-
- ls[i].fd = s;
- }
-
- if (!failed)
- break;
-
- /* TODO: delay configurable */
-
- ngx_log_error(NGX_LOG_NOTICE, log, 0,
- "try again to bind() after 500ms");
- ngx_msleep(500);
- }
-
- if (failed) {
- ngx_log_error(NGX_LOG_EMERG, log, 0, "still can not bind()");
- return NGX_ERROR;
- }
-
- return NGX_OK;
-}
-
-
-#endif
-
-
void ngx_reopen_files(ngx_cycle_t *cycle)
{
ngx_fd_t fd;
@@ -664,46 +428,6 @@ void ngx_reopen_files(ngx_cycle_t *cycle)
}
-#if 0
-
-static void ngx_close_listening_sockets(ngx_cycle_t *cycle)
-{
- ngx_int_t i;
- ngx_socket_t fd;
- ngx_listening_t *ls;
-
- if (ngx_event_flags & NGX_USE_IOCP_EVENT) {
- return;
- }
-
- ls = cycle->listening.elts;
- for (i = 0; i < cycle->listening.nelts; i++) {
- fd = ls[i].fd;
-
-#if (WIN32)
- /*
- * Winsock assignes a socket number divisible by 4
- * so to find a connection we divide a socket number by 4.
- */
-
- fd /= 4;
-#endif
-
- ngx_del_event(&cycle->read_events[fd], NGX_READ_EVENT, NGX_CLOSE_EVENT);
-
- if (ngx_close_socket(ls[i].fd) == -1) {
- ngx_log_error(NGX_LOG_EMERG, cycle->log, ngx_socket_errno,
- ngx_close_socket_n " %s failed",
- ls[i].addr_text.data);
- }
-
- cycle->connections[fd].fd = -1;
- }
-}
-
-#endif
-
-
static void ngx_clean_old_cycles(ngx_event_t *ev)
{
int i, n, found, live;