Mercurial > hg > nginx
changeset 617:51b27717f140 release-0.3.30
nginx-0.3.30-RELEASE import
*) 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; the bug had appeared in 0.3.27.
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Wed, 22 Feb 2006 19:41:39 +0000 |
parents | 3ac637aa8f17 |
children | 47f8a854752e |
files | docs/xml/nginx/changes.xml src/core/nginx.h src/core/ngx_cpuinfo.c src/event/ngx_event_accept.c src/http/modules/perl/nginx.xs src/http/modules/perl/ngx_http_perl_module.c src/http/modules/perl/ngx_http_perl_module.h |
diffstat | 7 files changed, 90 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/docs/xml/nginx/changes.xml +++ b/docs/xml/nginx/changes.xml @@ -9,6 +9,39 @@ <title lang="en">nginx changelog</title> +<changes ver="0.3.30" date="22.02.2006"> + +<change type="change"> +<para lang="ru"> +уровень записи в лог ошибки ECONNABORTED изменён на error с уровня crit. +</para> +<para lang="en"> +the ECONNABORTED error log level was changed to "error" from "crit". +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +модуль ngx_http_perl_module не собирался без модуля ngx_http_ssi_filter_module. +</para> +<para lang="en"> +the ngx_http_perl_module could not be build without +the ngx_http_ssi_filter_module. +</para> +</change> + +<change type="bugfix"> +<para lang="ru"> +nginx не собирался на i386 платформе, если использовался PIC. +</para> +<para lang="en"> +nginx could not be built on i386 platform, if the PIC was used. +</para> +</change> + +</changes> + + <changes ver="0.3.29" date="20.02.2006"> <change type="feature">
--- 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"
--- 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
--- 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");
--- 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_requ 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 return NGX_OK; } +#endif out.buf = b; out.next = NULL;
--- 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_pe { 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_ } +#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, 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_ return NGX_ERROR; } +#endif return NGX_OK; }