comparison src/http/ngx_http_upstream.c @ 5113:08b36f2afc3f

Upstream: fixed previous commit. Store r->connection on stack to make sure it's still available if request finalization happens to actually free request memory.
author Maxim Dounin <mdounin@mdounin.ru>
date Thu, 14 Mar 2013 16:22:43 +0000
parents d3c15c7831eb
children c0f7b94e88ba
comparison
equal deleted inserted replaced
5112:d3c15c7831eb 5113:08b36f2afc3f
876 876
877 877
878 static void 878 static void
879 ngx_http_upstream_resolve_handler(ngx_resolver_ctx_t *ctx) 879 ngx_http_upstream_resolve_handler(ngx_resolver_ctx_t *ctx)
880 { 880 {
881 ngx_connection_t *c;
881 ngx_http_request_t *r; 882 ngx_http_request_t *r;
882 ngx_http_upstream_t *u; 883 ngx_http_upstream_t *u;
883 ngx_http_upstream_resolved_t *ur; 884 ngx_http_upstream_resolved_t *ur;
884 885
885 r = ctx->data; 886 r = ctx->data;
887 c = r->connection;
886 888
887 u = r->upstream; 889 u = r->upstream;
888 ur = u->resolved; 890 ur = u->resolved;
889 891
890 if (ctx->state) { 892 if (ctx->state) {
927 929
928 ngx_http_upstream_connect(r, u); 930 ngx_http_upstream_connect(r, u);
929 931
930 failed: 932 failed:
931 933
932 ngx_http_run_posted_requests(r->connection); 934 ngx_http_run_posted_requests(c);
933 } 935 }
934 936
935 937
936 static void 938 static void
937 ngx_http_upstream_handler(ngx_event_t *ev) 939 ngx_http_upstream_handler(ngx_event_t *ev)