summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2006-02-22 19:23:58 +0000
committerJonathan Kolb <jon@b0g.us>2006-02-22 19:23:58 +0000
commit99534698f48af8a44bf993528e09a540af29e79b (patch)
treed9995c3bf2d8bc264923e3979befd18a300471c4
parentf3a7a11445eb00c65f981f7ad2ba272f92edde1f (diff)
downloadnginx-99534698f48af8a44bf993528e09a540af29e79b.tar.gz
Changes with nginx 0.3.30 22 Feb 2006v0.3.30
*) Change: the ECONNABORTED error log level was changed to "error" from "crit". *) Bugfix: the ngx_http_perl_module could not be build without the ngx_http_ssi_filter_module. *) Bugfix: nginx could not be built on i386 platform, if the PIC was used.
-rw-r--r--CHANGES12
-rw-r--r--CHANGES.ru12
-rw-r--r--src/core/nginx.h2
-rw-r--r--src/core/ngx_cpuinfo.c36
-rw-r--r--src/event/ngx_event_accept.c2
-rw-r--r--src/http/modules/perl/nginx.xs5
-rw-r--r--src/http/modules/perl/ngx_http_perl_module.c14
-rw-r--r--src/http/modules/perl/ngx_http_perl_module.h2
8 files changed, 81 insertions, 4 deletions
diff --git a/CHANGES b/CHANGES
index 176f42ba2..ed6933da9 100644
--- a/CHANGES
+++ b/CHANGES
@@ -1,4 +1,16 @@
+Changes with nginx 0.3.30 22 Feb 2006
+
+ *) Change: the ECONNABORTED error log level was changed to "error" from
+ "crit".
+
+ *) Bugfix: the ngx_http_perl_module could not be build without the
+ ngx_http_ssi_filter_module.
+
+ *) Bugfix: nginx could not be built on i386 platform, if the PIC was
+ used.
+
+
Changes with nginx 0.3.29 20 Feb 2006
*) Feature: now nginx uses less memory, if PHP in FastCGI mode sends
diff --git a/CHANGES.ru b/CHANGES.ru
index 805f8da34..8faba801c 100644
--- a/CHANGES.ru
+++ b/CHANGES.ru
@@ -1,4 +1,16 @@
+Изменения в nginx 0.3.30 22.02.2006
+
+ *) Изменение: уровень записи в лог ошибки ECONNABORTED изменён на error
+ с уровня crit.
+
+ *) Исправление: модуль ngx_http_perl_module не собирался без модуля
+ ngx_http_ssi_filter_module.
+
+ *) Исправление: nginx не собирался на i386 платформе, если
+ использовался PIC.
+
+
Изменения в nginx 0.3.29 20.02.2006
*) Добавление: теперь nginx использует меньше памяти, если PHP в режиме
diff --git a/src/core/nginx.h b/src/core/nginx.h
index 01ce1bd93..d0ff27ffc 100644
--- a/src/core/nginx.h
+++ b/src/core/nginx.h
@@ -8,7 +8,7 @@
#define _NGINX_H_INCLUDED_
-#define NGINX_VER "nginx/0.3.29"
+#define NGINX_VER "nginx/0.3.30"
#define NGINX_VAR "NGINX"
#define NGX_OLDPID_EXT ".oldbin"
diff --git a/src/core/ngx_cpuinfo.c b/src/core/ngx_cpuinfo.c
index a939635f8..f905cbc13 100644
--- a/src/core/ngx_cpuinfo.c
+++ b/src/core/ngx_cpuinfo.c
@@ -14,6 +14,39 @@
static ngx_inline void ngx_cpuid(uint32_t i, uint32_t *buf);
+#if ( __i386__ )
+
+static ngx_inline void
+ngx_cpuid(uint32_t i, uint32_t *buf)
+{
+
+ /*
+ * we could not use %ebx as output parameter if gcc builds PIC,
+ * and we could not save %ebx on stack, because %esp is used,
+ * when the -fomit-frame-pointer optimization is specified.
+ */
+
+ __asm__ (
+
+ " mov %%ebx, %%esi; "
+
+ " cpuid; "
+ " mov %%eax, %0; "
+ " mov %%ebx, %1; "
+ " mov %%edx, %2; "
+ " mov %%ecx, %3; "
+
+ " mov %%esi, %%ebx; "
+
+ : "=m" (buf[0]), "=m" (buf[1]), "=m" (buf[2]), "=m" (buf[3])
+ : "a" (i)
+ : "ecx", "edx", "esi" );
+}
+
+
+#else /* __amd64__ */
+
+
static ngx_inline void
ngx_cpuid(uint32_t i, uint32_t *buf)
{
@@ -32,6 +65,9 @@ ngx_cpuid(uint32_t i, uint32_t *buf)
}
+#endif
+
+
/* auto detect the L2 cache line size of modern and widespread CPUs */
void
diff --git a/src/event/ngx_event_accept.c b/src/event/ngx_event_accept.c
index a795075d0..287777d28 100644
--- a/src/event/ngx_event_accept.c
+++ b/src/event/ngx_event_accept.c
@@ -59,7 +59,7 @@ ngx_event_accept(ngx_event_t *ev)
return;
}
- ngx_log_error((err == NGX_ECONNABORTED) ? NGX_LOG_CRIT:
+ ngx_log_error((err == NGX_ECONNABORTED) ? NGX_LOG_ERR:
NGX_LOG_ALERT,
ev->log, err, "accept() failed");
diff --git a/src/http/modules/perl/nginx.xs b/src/http/modules/perl/nginx.xs
index 2d7ede031..4d57bb63e 100644
--- a/src/http/modules/perl/nginx.xs
+++ b/src/http/modules/perl/nginx.xs
@@ -47,7 +47,9 @@ ngx_http_perl_sv2str(pTHX_ ngx_http_request_t *r, ngx_str_t *s, SV *sv)
static ngx_int_t
ngx_http_perl_output(ngx_http_request_t *r, ngx_buf_t *b)
{
- ngx_chain_t *cl, out;
+ ngx_chain_t out;
+#if (NGX_HTTP_SSI)
+ ngx_chain_t *cl;
ngx_http_perl_ctx_t *ctx;
ctx = ngx_http_get_module_ctx(r, ngx_http_perl_module);
@@ -65,6 +67,7 @@ ngx_http_perl_output(ngx_http_request_t *r, ngx_buf_t *b)
return NGX_OK;
}
+#endif
out.buf = b;
out.next = NULL;
diff --git a/src/http/modules/perl/ngx_http_perl_module.c b/src/http/modules/perl/ngx_http_perl_module.c
index 04f778790..069c21646 100644
--- a/src/http/modules/perl/ngx_http_perl_module.c
+++ b/src/http/modules/perl/ngx_http_perl_module.c
@@ -34,8 +34,11 @@ typedef struct {
} ngx_http_perl_variable_t;
+#if (NGX_HTTP_SSI)
static ngx_int_t ngx_http_perl_ssi(ngx_http_request_t *r,
ngx_http_ssi_ctx_t *ssi_ctx, ngx_str_t **params);
+#endif
+
static ngx_int_t
ngx_http_perl_get_interpreter(ngx_http_perl_main_conf_t *pmcf,
PerlInterpreter **perl, ngx_log_t *log);
@@ -142,6 +145,8 @@ ngx_module_t ngx_http_perl_module = {
};
+#if (NGX_HTTP_SSI)
+
#define NGX_HTTP_PERL_SSI_SUB 0
#define NGX_HTTP_PERL_SSI_ARG 1
@@ -152,11 +157,12 @@ static ngx_http_ssi_param_t ngx_http_perl_ssi_params[] = {
{ ngx_null_string, 0, 0, 0 }
};
-
static ngx_http_ssi_command_t ngx_http_perl_ssi_command = {
ngx_string("perl"), ngx_http_perl_ssi, ngx_http_perl_ssi_params, 0, 1
};
+#endif
+
static void
ngx_http_perl_xs_init(pTHX)
@@ -310,6 +316,8 @@ ngx_http_perl_variable(ngx_http_request_t *r, ngx_http_variable_value_t *v,
}
+#if (NGX_HTTP_SSI)
+
static ngx_int_t
ngx_http_perl_ssi(ngx_http_request_t *r, ngx_http_ssi_ctx_t *ssi_ctx,
ngx_str_t **params)
@@ -385,6 +393,8 @@ ngx_http_perl_ssi(ngx_http_request_t *r, ngx_http_ssi_ctx_t *ssi_ctx,
return rc;
}
+#endif
+
static ngx_int_t
ngx_http_perl_get_interpreter(ngx_http_perl_main_conf_t *pmcf,
@@ -763,6 +773,7 @@ ngx_http_perl_cleanup_perl(void *data)
static ngx_int_t
ngx_http_perl_preconfiguration(ngx_conf_t *cf)
{
+#if (NGX_HTTP_SSI)
ngx_int_t rc;
ngx_http_ssi_main_conf_t *smcf;
@@ -780,6 +791,7 @@ ngx_http_perl_preconfiguration(ngx_conf_t *cf)
return NGX_ERROR;
}
+#endif
return NGX_OK;
}
diff --git a/src/http/modules/perl/ngx_http_perl_module.h b/src/http/modules/perl/ngx_http_perl_module.h
index 921917bd0..1bc3852e7 100644
--- a/src/http/modules/perl/ngx_http_perl_module.h
+++ b/src/http/modules/perl/ngx_http_perl_module.h
@@ -26,7 +26,9 @@ typedef struct {
ngx_str_t redirect_uri;
ngx_str_t redirect_args;
+#if (NGX_HTTP_SSI)
ngx_http_ssi_ctx_t *ssi;
+#endif
} ngx_http_perl_ctx_t;