summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2004-09-28 20:09:22 +0000
committerIgor Sysoev <igor@sysoev.ru>2004-09-28 20:09:22 +0000
commit55168f6b6bca2d9aafc11ada25b514f7ac99d34f (patch)
tree8eb8853ebf981ab6a452736f527bcbc60132625c
parente0eaacd795530fa5c697594cdde4caa1e826efab (diff)
downloadnginx-55168f6b6bca2d9aafc11ada25b514f7ac99d34f.tar.gz
nginx-0.1.0-2004-09-29-00:09:22 import
-rw-r--r--auto/sources5
-rw-r--r--src/core/nginx.c19
-rw-r--r--src/core/ngx_log.c34
3 files changed, 51 insertions, 7 deletions
diff --git a/auto/sources b/auto/sources
index d1bb2d8e6..3cd02b151 100644
--- a/auto/sources
+++ b/auto/sources
@@ -18,13 +18,15 @@ CORE_DEPS="src/core/nginx.h \
src/core/ngx_file.h \
src/core/ngx_crc.h \
src/core/ngx_rbtree.h \
- src/core/ngx_radix_tree.h \
src/core/ngx_times.h \
src/core/ngx_connection.h \
src/core/ngx_cycle.h \
src/core/ngx_conf_file.h \
src/core/ngx_garbage_collector.h"
+# src/core/ngx_radix_tree.h \
+# src/core/ngx_radix_tree.c \
+
CORE_SRCS="src/core/nginx.c \
src/core/ngx_log.c \
src/core/ngx_palloc.c \
@@ -37,7 +39,6 @@ CORE_SRCS="src/core/nginx.c \
src/core/ngx_inet.c \
src/core/ngx_file.c \
src/core/ngx_rbtree.c \
- src/core/ngx_radix_tree.c \
src/core/ngx_times.c \
src/core/ngx_connection.c \
src/core/ngx_cycle.c \
diff --git a/src/core/nginx.c b/src/core/nginx.c
index 920b60163..236a65b0f 100644
--- a/src/core/nginx.c
+++ b/src/core/nginx.c
@@ -95,6 +95,8 @@ ngx_module_t ngx_core_module = {
ngx_uint_t ngx_max_module;
+ngx_uint_t ngx_use_stderr;
+
int main(int argc, char *const *argv)
{
@@ -116,9 +118,10 @@ int main(int argc, char *const *argv)
ngx_regex_init();
#endif
- log = ngx_log_init_errlog();
ngx_pid = ngx_getpid();
+ log = ngx_log_init_errlog();
+
#if (NGX_OPENSSL)
ngx_ssl_init(log);
#endif
@@ -133,15 +136,19 @@ int main(int argc, char *const *argv)
ctx.argc = argc;
ctx.argv = argv;
- if (ngx_os_init(log) == NGX_ERROR) {
+ if (!(init_cycle.pool = ngx_create_pool(1024, log))) {
return 1;
}
- if (!(init_cycle.pool = ngx_create_pool(1024, log))) {
+ if (ngx_getopt(&ctx, &init_cycle) == NGX_ERROR) {
return 1;
}
- if (ngx_getopt(&ctx, &init_cycle) == NGX_ERROR) {
+ if (ngx_use_stderr) {
+ log = ngx_log_init_errlog();
+ }
+
+ if (ngx_os_init(log) == NGX_ERROR) {
return 1;
}
@@ -319,6 +326,10 @@ static ngx_int_t ngx_getopt(ngx_master_ctx_t *ctx, ngx_cycle_t *cycle)
ngx_test_config = 1;
break;
+ case 's':
+ ngx_use_stderr = 1;
+ break;
+
case 'c':
if (ctx->argv[i + 1] == NULL) {
ngx_log_error(NGX_LOG_EMERG, cycle->log, 0,
diff --git a/src/core/ngx_log.c b/src/core/ngx_log.c
index b23d8bba1..be899e3f7 100644
--- a/src/core/ngx_log.c
+++ b/src/core/ngx_log.c
@@ -259,6 +259,8 @@ void ngx_log_stderr(ngx_event_t *ev)
ngx_log_t *ngx_log_init_errlog()
{
+ ngx_fd_t fd;
+
#if (WIN32)
ngx_stderr.fd = GetStdHandle(STD_ERROR_HANDLE);
@@ -283,7 +285,37 @@ ngx_log_t *ngx_log_init_errlog()
#endif
ngx_log.file = &ngx_stderr;
- ngx_log.log_level = NGX_LOG_INFO;
+ ngx_log.log_level = NGX_LOG_ERR;
+
+#if 0
+ fd = ngx_open_file(NGX_ERROR_LOG_PATH, NGX_FILE_RDWR,
+ NGX_FILE_CREATE_OR_OPEN|NGX_FILE_APPEND);
+
+ if (fd == NGX_INVALID_FILE) {
+ ngx_log_error(NGX_LOG_EMERG, (&ngx_log), ngx_errno,
+ ngx_open_file_n " \"" NGX_ERROR_LOG_PATH "\" failed");
+ return NULL;
+ }
+
+#if (WIN32)
+
+ if (ngx_file_append_mode(fd) == NGX_ERROR) {
+ ngx_log_error(NGX_LOG_EMERG, (&ngx_log), ngx_errno,
+ ngx_file_append_mode_n " \"" NGX_ERROR_LOG_PATH
+ "\" failed");
+ return NULL;
+ }
+
+#else
+
+ if (dup2(fd, STDERR_FILENO) == NGX_ERROR) {
+ ngx_log_error(NGX_LOG_EMERG, (&ngx_log), ngx_errno,
+ "dup2(STDERR) failed");
+ return NULL;
+ }
+
+#endif
+#endif
return &ngx_log;
}