changeset 94:c96cb248dc4b NGINX_0_2_1

nginx 0.2.1 *) Bugfix: if all backend using in load-balancing failed after one error, then nginx may got caught in an endless loop; bug appeared in 0.2.0.
author Igor Sysoev <http://sysoev.ru>
date Fri, 23 Sep 2005 00:00:00 +0400
parents dc5348c07fbf
children 2f95911bc4b4
files CHANGES CHANGES.ru src/core/nginx.h src/core/ngx_conf_file.h src/event/ngx_event_connect.c
diffstat 5 files changed, 22 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/CHANGES
+++ b/CHANGES
@@ -1,3 +1,10 @@
+
+Changes with nginx 0.2.1                                         23 Sep 2005
+
+    *) Bugfix: if all backend using in load-balancing failed after one 
+       error, then nginx may got caught in an endless loop; bug appeared in 
+       0.2.0.
+
 
 Changes with nginx 0.2.0                                         23 Sep 2005
 
@@ -26,7 +33,7 @@ Changes with nginx 0.2.0                
     *) Bugfix: if all backend using in load-balancing failed after one 
        error, then nginx did not try do connect to them during 60 seconds.
 
-    *) Bugfix: in IMAP/POP3 command argument parsing. Thanks to Rob Mueller.
+    *) Bugfix: in IMAP/POP3 command argument parsing.
 
     *) Bugfix: errors while using SSL in IMAP/POP3 proxy.
 
--- a/CHANGES.ru
+++ b/CHANGES.ru
@@ -1,3 +1,10 @@
+
+Изменения в nginx 0.2.1                                           23.09.2005
+
+    *) Исправление: если все бэкенды, используемые для балансировки 
+       нагрузки, оказывались в нерабочем состоянии после одной ошибки, то 
+       nginx мог зациклится; ошибка появилась в 0.2.0.
+
 
 Изменения в nginx 0.2.0                                           23.09.2005
 
--- a/src/core/nginx.h
+++ b/src/core/nginx.h
@@ -8,7 +8,7 @@
 #define _NGINX_H_INCLUDED_
 
 
-#define NGINX_VER          "nginx/0.2.0"
+#define NGINX_VER          "nginx/0.2.1"
 
 #define NGINX_VAR          "NGINX"
 #define NGX_OLDPID_EXT     ".oldbin"
--- a/src/core/ngx_conf_file.h
+++ b/src/core/ngx_conf_file.h
@@ -97,19 +97,20 @@ struct ngx_open_file_s {
 };
 
 
-#define NGX_MODULE_V1          0, 0, 1, 0, 0, 0, 0
+#define NGX_MODULE_V1          0, 0, 0, 0, 0, 0, 1
 #define NGX_MODULE_V1_PADDING  0, 0, 0, 0, 0, 0, 0, 0
 
 struct ngx_module_s {
     ngx_uint_t            ctx_index;
     ngx_uint_t            index;
-    ngx_uint_t            version;
 
     ngx_uint_t            spare0;
     ngx_uint_t            spare1;
     ngx_uint_t            spare2;
     ngx_uint_t            spare3;
 
+    ngx_uint_t            version;
+
     void                 *ctx;
     ngx_command_t        *commands;
     ngx_uint_t            type;
--- a/src/event/ngx_event_connect.c
+++ b/src/event/ngx_event_connect.c
@@ -360,5 +360,7 @@ ngx_event_connect_peer_failed(ngx_peer_c
         pc->cur_peer = 0;
     }
 
-    pc->tries--;
+    if (pc->tries) {
+        pc->tries--;
+    }
 }