diff src/core/ngx_cycle.c @ 236:86e473b5641e

nginx-0.0.1-2004-01-22-09:47:28 import
author Igor Sysoev <igor@sysoev.ru>
date Thu, 22 Jan 2004 06:47:28 +0000
parents 2ba3477070ac
children 8d5cce3ae221
line wrap: on
line diff
--- 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 
 }
 
 
-#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;