summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2005-09-23 14:43:49 +0000
committerIgor Sysoev <igor@sysoev.ru>2005-09-23 14:43:49 +0000
commit09a24396124e911059c2ca405ba55af96e61ede0 (patch)
tree29cd04f0fa8a3b367d73882aac5a56211384a428
parentb6f62a9a1c4f4416a03963882c8f30f3ccff5d0e (diff)
downloadnginx-release-0.2.1.tar.gz
nginx-0.2.1-RELEASE importrelease-0.2.1
*) Bugfix: if all backend using in load-balancing failed after one error, then nginx may got caught in an endless loop; the bug had appeared in 0.2.0.
-rw-r--r--docs/xml/nginx/changes.xml19
-rw-r--r--src/core/nginx.h2
-rw-r--r--src/core/ngx_conf_file.h5
-rw-r--r--src/event/ngx_event_connect.c4
4 files changed, 25 insertions, 5 deletions
diff --git a/docs/xml/nginx/changes.xml b/docs/xml/nginx/changes.xml
index f0c175397..a6acb66ab 100644
--- a/docs/xml/nginx/changes.xml
+++ b/docs/xml/nginx/changes.xml
@@ -9,6 +9,24 @@
<title lang="en">nginx changelog</title>
+<changes ver="0.2.1" date="23.09.2005">
+
+<change type="bugfix">
+<para lang="ru">
+если все бэкенды, используемые для балансировки нагрузки, оказывались
+в нерабочем состоянии после одной ошибки, то nginx мог зациклится;
+ошибка появилась в 0.2.0.
+</para>
+<para lang="en">
+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.
+</para>
+</change>
+
+</changes>
+
+
<changes ver="0.2.0" date="23.09.2005">
<change>
@@ -104,7 +122,6 @@ nginx did not try do connect to them during 60 seconds.
</para>
<para lang="en">
in IMAP/POP3 command argument parsing.
-Thanks to Rob Mueller.
</para>
</change>
diff --git a/src/core/nginx.h b/src/core/nginx.h
index 22927b3c2..6468b9479 100644
--- 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"
diff --git a/src/core/ngx_conf_file.h b/src/core/ngx_conf_file.h
index 483852fd2..9f344e64c 100644
--- 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;
diff --git a/src/event/ngx_event_connect.c b/src/event/ngx_event_connect.c
index cdcb4c4c6..804226f78 100644
--- 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_connection_t *pc, ngx_uint_t down)
pc->cur_peer = 0;
}
- pc->tries--;
+ if (pc->tries) {
+ pc->tries--;
+ }
}