# HG changeset patch # User Igor Sysoev # Date 1127419200 -14400 # Node ID c96cb248dc4bf70009db1c3f5c5e532e82cd53f1 # Parent dc5348c07fbf06c37305e52627ae8221fdb25214 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. diff --git a/CHANGES b/CHANGES --- 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. diff --git a/CHANGES.ru b/CHANGES.ru --- 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 diff --git a/src/core/nginx.h b/src/core/nginx.h --- 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 --- 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 --- 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--; + } }