Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH] Патч для совместимости с ey-balancer модулем
- To: nginx-ru@xxxxxxxxx
- Subject: [PATCH] Патч для совместимости с ey-balancer модулем
- From: "Misbakh-Soloviov Vadim A." <mva@xxxxxxxx>
- Date: Tue, 01 May 2012 21:11:10 +0700
- Organization: Alpha LLC
Товарищи!
У меня тут уже долгое время для сборки NgX с http-модулем ey-balancer
локально накладывается патч из аттача. Скажите, что вы думаете по
поводу прямоты оного и есть ли у него перспективы быть
отправленным в апстрим? А то я был бы рад избавиться от лишнего
локально накладываемого патча :)
P.S. Автор, конечно, модуль слегка забросил, судя по всему, но я по мере
сил попиливаю его, форкнув на гитхабе. Тем не менее, давайте обсудим
перспективы патча.
--
Best regards,
mva diff -Naur src/http/ngx_http_upstream.c src/http/ngx_http_upstream.c
--- src/http/ngx_http_upstream.c 2009-12-23 10:31:16.000000000 -0500
+++ src/http/ngx_http_upstream.c 2010-01-20 15:26:24.000000000 -0500
@@ -24,8 +24,6 @@
static void ngx_http_upstream_wr_check_broken_connection(ngx_http_request_t
*r);
static void ngx_http_upstream_check_broken_connection(ngx_http_request_t *r,
ngx_event_t *ev);
-static void ngx_http_upstream_connect(ngx_http_request_t *r,
- ngx_http_upstream_t *u);
static ngx_int_t ngx_http_upstream_reinit(ngx_http_request_t *r,
ngx_http_upstream_t *u);
static void ngx_http_upstream_send_request(ngx_http_request_t *r,
@@ -600,13 +598,12 @@
found:
- if (uscf->peer.init(r, uscf) != NGX_OK) {
- ngx_http_upstream_finalize_request(r, u,
- NGX_HTTP_INTERNAL_SERVER_ERROR);
- return;
+ switch(uscf->peer.init(r, uscf)) {
+ case NGX_OK: ngx_http_upstream_connect(r, u);
+ case NGX_BUSY: return;
}
- ngx_http_upstream_connect(r, u);
+ ngx_http_upstream_finalize_request(r, u, NGX_HTTP_INTERNAL_SERVER_ERROR);
}
@@ -1030,7 +1027,7 @@
}
-static void
+void
ngx_http_upstream_connect(ngx_http_request_t *r, ngx_http_upstream_t *u)
{
ngx_int_t rc;
diff -Naur src/http/ngx_http_upstream.h src/http/ngx_http_upstream.h
--- src/http/ngx_http_upstream.h 2009-12-23 09:22:17.000000000 -0500
+++ src/http/ngx_http_upstream.h 2010-01-20 15:24:36.000000000 -0500
@@ -321,6 +321,8 @@
ngx_int_t ngx_http_upstream_create(ngx_http_request_t *r);
void ngx_http_upstream_init(ngx_http_request_t *r);
+#define NGX_HTTP_UPSTREAM_INIT_BUSY_PATCH_VERSION 1
+void ngx_http_upstream_connect(ngx_http_request_t *r, ngx_http_upstream_t *u);
ngx_http_upstream_srv_conf_t *ngx_http_upstream_add(ngx_conf_t *cf,
ngx_url_t *u, ngx_uint_t flags);
char *ngx_http_upstream_bind_set_slot(ngx_conf_t *cf, ngx_command_t *cmd,
Attachment:
signature.asc
Description: This is a digitally signed message part.
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru
|