]> git.kaiwu.me - nginx.git/commitdiff
nginx-0.0.2-2004-02-03-19:43:54 import
authorIgor Sysoev <igor@sysoev.ru>
Tue, 3 Feb 2004 16:43:54 +0000 (16:43 +0000)
committerIgor Sysoev <igor@sysoev.ru>
Tue, 3 Feb 2004 16:43:54 +0000 (16:43 +0000)
14 files changed:
auto/lib/make
auto/os/linux
auto/os/solaris
src/core/nginx.c
src/core/ngx_config.h
src/core/ngx_cycle.c
src/core/ngx_log.c
src/event/ngx_event.c
src/os/unix/ngx_daemon.c
src/os/unix/ngx_freebsd_config.h
src/os/unix/ngx_linux_config.h
src/os/unix/ngx_process.c
src/os/unix/ngx_process.h
src/os/unix/ngx_solaris_config.h

index 6055e3fd105aca0c00e46b7a8879dfd27f00c609..d4cba34f5b6b167385beae81d73f58d0048eff55 100644 (file)
@@ -12,7 +12,18 @@ if [ "$PLATFORM" != "win32" ]; then
 
     if [ $MD5 != NO ]; then
         echo "$MD5/libmd5.a:"                          >> $MAKEFILE
-        echo " cd $MD5 && \$(MAKE) x86-elf"           >> $MAKEFILE
+
+        case $PLATFORM in
+
+        SunOS:*)
+            echo "     cd $MD5 && \$(MAKE) x86-solaris" >> $MAKEFILE
+        ;;
+
+        *)
+            echo "     cd $MD5 && \$(MAKE) x86-elf"   >> $MAKEFILE
+        ;;
+        esac
+
         echo                                           >> $MAKEFILE
     fi
 
index effb4723fe5cb7898f5e94554a2e79a30082c5c8..3a020e9448913fb8c39d53a7c8729cd3c5e82212 100644 (file)
@@ -1,8 +1,8 @@
 
 CORE_INCS="$UNIX_INCS"
 CORE_DEPS="$UNIX_DEPS $LINUX_DEPS"
-CORE_SRCS="$UNIX_SRCS $LINUX_SRCS $SELECT_SRCS $POLL_SRCS"
-EVENT_MODULES="$EVENT_MODULES $SELECT_MODULE $POLL_MODULE"
+CORE_SRCS="$UNIX_SRCS $LINUX_SRCS"
+EVENT_MODULES="$EVENT_MODULES"
 
 ZLIB_LIB="-lz"
 
index 2fd479f17226611ccd72e02bb76430197201c307..363ac1d2d87a4c1c4c0780569906555d261b6017 100644 (file)
@@ -1,8 +1,8 @@
 
 CORE_INCS="$UNIX_INCS"
 CORE_DEPS="$UNIX_DEPS $SOLARIS_DEPS"
-CORE_SRCS="$UNIX_SRCS $SOLARIS_SRCS $SELECT_SRCS $POLL_SRCS"
-EVENT_MODULES="$EVENT_MODULES $SELECT_MODULE $POLL_MODULE"
+CORE_SRCS="$UNIX_SRCS $SOLARIS_SRCS "
+EVENT_MODULES="$EVENT_MODULES"
 
 MD5_LIB="-lmd5"
 ZLIB_LIB="-lz"
index 61cc53e484bd7869dc35692d6240bfba7e1d474d..21a22d0ba78bf2acc8bc5e37909de6e963f6de7a 100644 (file)
@@ -82,6 +82,7 @@ ngx_int_t   ngx_max_module;
 ngx_uint_t  ngx_connection_counter;
 
 ngx_int_t   ngx_process;
+ngx_pid_t   ngx_pid;
 ngx_pid_t   ngx_new_binary;
 
 ngx_int_t   ngx_inherited;
@@ -122,6 +123,7 @@ int main(int argc, char *const *argv, char **envp)
 #endif
 
     log = ngx_log_init_errlog();
+    ngx_pid = ngx_getpid();
 
     /* init_cycle->log is required for signal handlers */
 
@@ -179,12 +181,6 @@ int main(int argc, char *const *argv, char **envp)
         }
     }
 
-    if (dup2(cycle->log->file->fd, STDERR_FILENO) == -1) {
-        ngx_log_error(NGX_LOG_EMERG, cycle->log, ngx_errno,
-                      "dup2(STDERR) failed");
-        return 1;
-    }
-
     if (ccf->pid.len == 0) {
         ccf->pid.len = sizeof(NGINX_PID) - 1;
         ccf->pid.data = NGINX_PID;
index 796d7a20b5e6f1e8dfe431a1fa8fc71f343a1238..b691c3ca91af2b9b2194f50fa4d9d787dc4ec182 100644 (file)
@@ -2,9 +2,6 @@
 #define _NGX_CONFIG_H_INCLUDED_
 
 
-#include <ngx_auto_config.h>
-
-
 #if 1
 /* STUB to allocate a big ngx_connections */
 #undef  FD_SETSIZE
@@ -36,6 +33,8 @@
 
 #else /* posix */
 
+#include <ngx_auto_config.h>
+
 #endif
 
 
index dcae4a0c57aaaddc24ec3db1257d733142c3dcb8..8450998148d6919630aaf3b69b5da8bde1a08307 100644 (file)
@@ -228,6 +228,14 @@ ngx_cycle_t *ngx_init_cycle(ngx_cycle_t *old_cycle)
         }
     }
 
+    /* TODO: Win32 DuplicateHandle ? */
+    if (dup2(cycle->log->file->fd, STDERR_FILENO) == -1) {
+        ngx_log_error(NGX_LOG_EMERG, log, ngx_errno,
+                      "dup2(STDERR) failed");
+        failed = 1;
+    }
+
+
     if (failed) {
 
         /* rollback the new cycle configuration */
@@ -262,6 +270,7 @@ ngx_cycle_t *ngx_init_cycle(ngx_cycle_t *old_cycle)
         return NULL;
     }
 
+
     /* commit the new cycle configuration */
 
     pool->log = cycle->log;
@@ -438,6 +447,12 @@ void ngx_reopen_files(ngx_cycle_t *cycle, uid_t user)
 
         file[i].fd = fd;
     }
+
+    /* TODO: Win32 DuplicateHandle ? */
+    if (dup2(cycle->log->file->fd, STDERR_FILENO) == -1) {
+        ngx_log_error(NGX_LOG_EMERG, cycle->log, ngx_errno,
+                      "dup2(STDERR) failed");
+    }
 }
 
 
index 1f7bb11a9efc84d17a9f5933c39c353a92ca4f75..a902f1e316998f1c3567969b39cf2aeaa6497be6 100644 (file)
@@ -79,7 +79,7 @@ void ngx_log_error_core(int level, ngx_log_t *log, ngx_err_t err,
 
     /* pid#tid */
     len += ngx_snprintf(errstr + len, max - len,
-                        PID_T_FMT "#%d: ", ngx_getpid(), /* STUB */ 0);
+                        PID_T_FMT "#%d: ", ngx_pid, /* STUB */ 0);
 
     if (log->data) {
         len += ngx_snprintf(errstr + len, max - len,
index 482310b3d68cd846c12de63a1f56ef742209ee7a..3ca1067b42fd5baa47eb84115af983bff8cb812b 100644 (file)
@@ -16,6 +16,7 @@ extern ngx_event_module_t ngx_select_module_ctx;
 
 #if (HAVE_DEVPOLL)
 extern ngx_module_t ngx_devpoll_module;
+extern ngx_event_module_t ngx_devpoll_module_ctx;
 #endif
 
 #if (HAVE_AIO)
@@ -386,6 +387,7 @@ static char *ngx_event_use(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
         old_ecf = NULL;
     }
 
+
     for (m = 0; ngx_modules[m]; m++) {
         if (ngx_modules[m]->type != NGX_EVENT_MODULE) {
             continue;
@@ -397,14 +399,19 @@ static char *ngx_event_use(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
                 ecf->use = ngx_modules[m]->ctx_index;
                 ecf->name = module->name->data;
 
-                if (old_ecf && old_ecf->use != ecf->use) {
+                if (ngx_process == NGX_PROCESS_SINGLE
+                    && old_ecf
+                    && old_ecf->use != ecf->use)
+                {
                     ngx_conf_log_error(NGX_LOG_EMERG, cf, 0,
+                        "when the server runs without a master process "
                         "the \"%s\" event type must be the same as "
                         "in previous configuration - \"%s\" "
                         "and it can not be changed on the fly, "
                         "to change it you need to stop server "
                         "and start it again",
                         value[1].data, old_ecf->name);
+
                     return NGX_CONF_ERROR;
                 }
 
index b2a37c1004dea224f2be779f33da09896bc9ef55..8bad5444afd481164ebb2430b0878a4ddc989e27 100644 (file)
@@ -19,6 +19,8 @@ int ngx_daemon(ngx_log_t *log)
         exit(0);
     }
 
+    ngx_pid = ngx_getpid();
+
     if (setsid() == -1) {
         ngx_log_error(NGX_LOG_EMERG, log, ngx_errno, "setsid() failed");
         return NGX_ERROR;
index 6a4397999a93957e41c3598b25a2c48b97f05523..2e14831eac96762f8c77643556de8d4b08a20d7b 100644 (file)
@@ -28,6 +28,8 @@
 #include <dirent.h>
 #include <osreldate.h>
 
+#include <ngx_auto_config.h>
+
 
 #ifndef HAVE_SELECT
 #define HAVE_SELECT  1
index e43a6caa72808bf786d041b36786131f0db02b09..f6b84569fb287fbb67312834b952eda8559949ae 100644 (file)
 #include <sys/sysctl.h>
 #include <sys/wait.h>
 #include <sys/socket.h>
-
-#if (HAVE_SENDFILE64)
-#include <sys/sendfile.h>
-#else
-extern ssize_t sendfile(int s, int fd, int32_t *offset, size_t size);
-#endif
-
 #include <netinet/in.h>
 #include <netinet/tcp.h>        /* TCP_CORK */
 #include <arpa/inet.h>
@@ -41,6 +34,14 @@ extern ssize_t sendfile(int s, int fd, int32_t *offset, size_t size);
 #include <netdb.h>
 #include <dirent.h>
 
+#include <ngx_auto_config.h>
+
+#if (HAVE_SENDFILE64)
+#include <sys/sendfile.h>
+#else
+extern ssize_t sendfile(int s, int fd, int32_t *offset, size_t size);
+#endif
+
 
 
 #ifndef HAVE_SELECT
index 68bdaed7bd14d36576b2766b5fd04bb952c59ac4..a8c9610b20996aca1834a5b75dbc7f2eb1a4437e 100644 (file)
@@ -46,6 +46,7 @@ ngx_pid_t ngx_spawn_process(ngx_cycle_t *cycle,
         return NGX_ERROR;
 
     case 0:
+        ngx_pid = ngx_getpid();
         proc(cycle, data);
         break;
 
index a1aa74bd701ce2d38695992db85b5e934b97db0c..66b9d7d457933e1d91edc0cf74eddae487943e0e 100644 (file)
@@ -49,6 +49,7 @@ ngx_pid_t ngx_exec(ngx_cycle_t *cycle, ngx_exec_ctx_t *ctx);
 void ngx_respawn_processes(ngx_cycle_t *cycle);
 void ngx_process_get_status(void);
 
+extern ngx_pid_t      ngx_pid;
 extern ngx_uint_t     ngx_last_process;
 extern ngx_process_t  ngx_processes[NGX_MAX_PROCESSES];
 
index 43068f20ee8058b118ca607f46af8c507679ac9c..920aaf9040bfe4e914d5111fdf23d56d9644aed9 100644 (file)
@@ -32,6 +32,8 @@
 #include <netdb.h>
 #include <dirent.h>
 
+#include <ngx_auto_config.h>
+
 
 #ifndef HAVE_SELECT
 #define HAVE_SELECT  1