]> git.kaiwu.me - nginx.git/commitdiff
nginx-0.3.30-RELEASE import release-0.3.30
authorIgor Sysoev <igor@sysoev.ru>
Wed, 22 Feb 2006 19:41:39 +0000 (19:41 +0000)
committerIgor Sysoev <igor@sysoev.ru>
Wed, 22 Feb 2006 19:41:39 +0000 (19:41 +0000)
    *) 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.

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

index 0460c930e127126a8023e45d37ef100a13d2b799..08ca5a0415d67b29a7806e82e425a164ba6caafd 100644 (file)
@@ -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">
index 01ce1bd936ad8a182a56e97f129d89a6d7f8c1e7..d0ff27ffc7f60f33c2cc068582b73e582ada968e 100644 (file)
@@ -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"
index a939635f8049563833f6a8d27690149f7d4f0977..f905cbc138fd59cbd819730b6c9589ace4f92587 100644 (file)
 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
index a795075d0fa92d70bc98cb6d45e88776ac7e1eb9..287777d28adb327ac50fc349d24f707b48b25bc3 100644 (file)
@@ -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");
 
index 2d7ede0318e2785adbe5fb07dc9823c7659e52fb..4d57bb63e8641ff3b7d92ebb52ddd123213d5b2b 100644 (file)
@@ -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;
index 04f7787906e87fe1862066a077808097b2b92f5d..069c2164610a377f869b208b3842cee9be068709 100644 (file)
@@ -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;
 }
index 921917bd0011ac02f2d4ae9a9977adb525914185..1bc3852e72db0e1fd96f841018cd37487ec94740 100644 (file)
@@ -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;