Mercurial > hg > nginx-quic
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) |