diff options
author | Igor Sysoev <igor@sysoev.ru> | 2006-02-22 19:23:58 +0000 |
---|---|---|
committer | Jonathan Kolb <jon@b0g.us> | 2006-02-22 19:23:58 +0000 |
commit | 99534698f48af8a44bf993528e09a540af29e79b (patch) | |
tree | d9995c3bf2d8bc264923e3979befd18a300471c4 | |
parent | f3a7a11445eb00c65f981f7ad2ba272f92edde1f (diff) | |
download | nginx-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-- | CHANGES | 12 | ||||
-rw-r--r-- | CHANGES.ru | 12 | ||||
-rw-r--r-- | src/core/nginx.h | 2 | ||||
-rw-r--r-- | src/core/ngx_cpuinfo.c | 36 | ||||
-rw-r--r-- | src/event/ngx_event_accept.c | 2 | ||||
-rw-r--r-- | src/http/modules/perl/nginx.xs | 5 | ||||
-rw-r--r-- | src/http/modules/perl/ngx_http_perl_module.c | 14 | ||||
-rw-r--r-- | src/http/modules/perl/ngx_http_perl_module.h | 2 |
8 files changed, 81 insertions, 4 deletions
@@ -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; |