mirror of
https://github.com/nginx/nginx.git
synced 2025-06-30 03:00:38 +08:00
Proxy: fixed do_write handling in previous commit.
As rightfully complained by MSVC, do_write variable was used uninitialized. Correct fix is to set it's initial value based on event happened.
This commit is contained in:
parent
08a73b4aad
commit
82d48e1eba
@ -55,7 +55,7 @@ static void ngx_http_upstream_upgraded_read_upstream(ngx_http_request_t *r,
|
|||||||
static void ngx_http_upstream_upgraded_write_upstream(ngx_http_request_t *r,
|
static void ngx_http_upstream_upgraded_write_upstream(ngx_http_request_t *r,
|
||||||
ngx_http_upstream_t *u);
|
ngx_http_upstream_t *u);
|
||||||
static void ngx_http_upstream_process_upgraded(ngx_http_request_t *r,
|
static void ngx_http_upstream_process_upgraded(ngx_http_request_t *r,
|
||||||
ngx_uint_t from_upstream);
|
ngx_uint_t from_upstream, ngx_uint_t do_write);
|
||||||
static void
|
static void
|
||||||
ngx_http_upstream_process_non_buffered_downstream(ngx_http_request_t *r);
|
ngx_http_upstream_process_non_buffered_downstream(ngx_http_request_t *r);
|
||||||
static void
|
static void
|
||||||
@ -2432,13 +2432,13 @@ ngx_http_upstream_upgrade(ngx_http_request_t *r, ngx_http_upstream_t *u)
|
|||||||
if (u->peer.connection->read->ready
|
if (u->peer.connection->read->ready
|
||||||
|| u->buffer.pos != u->buffer.last)
|
|| u->buffer.pos != u->buffer.last)
|
||||||
{
|
{
|
||||||
ngx_http_upstream_process_upgraded(r, 1);
|
ngx_http_upstream_process_upgraded(r, 1, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (c->read->ready
|
if (c->read->ready
|
||||||
|| r->header_in->pos != r->header_in->last)
|
|| r->header_in->pos != r->header_in->last)
|
||||||
{
|
{
|
||||||
ngx_http_upstream_process_upgraded(r, 0);
|
ngx_http_upstream_process_upgraded(r, 0, 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -2446,14 +2446,14 @@ ngx_http_upstream_upgrade(ngx_http_request_t *r, ngx_http_upstream_t *u)
|
|||||||
static void
|
static void
|
||||||
ngx_http_upstream_upgraded_read_downstream(ngx_http_request_t *r)
|
ngx_http_upstream_upgraded_read_downstream(ngx_http_request_t *r)
|
||||||
{
|
{
|
||||||
ngx_http_upstream_process_upgraded(r, 0);
|
ngx_http_upstream_process_upgraded(r, 0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
ngx_http_upstream_upgraded_write_downstream(ngx_http_request_t *r)
|
ngx_http_upstream_upgraded_write_downstream(ngx_http_request_t *r)
|
||||||
{
|
{
|
||||||
ngx_http_upstream_process_upgraded(r, 1);
|
ngx_http_upstream_process_upgraded(r, 1, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -2461,7 +2461,7 @@ static void
|
|||||||
ngx_http_upstream_upgraded_read_upstream(ngx_http_request_t *r,
|
ngx_http_upstream_upgraded_read_upstream(ngx_http_request_t *r,
|
||||||
ngx_http_upstream_t *u)
|
ngx_http_upstream_t *u)
|
||||||
{
|
{
|
||||||
ngx_http_upstream_process_upgraded(r, 1);
|
ngx_http_upstream_process_upgraded(r, 1, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -2469,18 +2469,17 @@ static void
|
|||||||
ngx_http_upstream_upgraded_write_upstream(ngx_http_request_t *r,
|
ngx_http_upstream_upgraded_write_upstream(ngx_http_request_t *r,
|
||||||
ngx_http_upstream_t *u)
|
ngx_http_upstream_t *u)
|
||||||
{
|
{
|
||||||
ngx_http_upstream_process_upgraded(r, 0);
|
ngx_http_upstream_process_upgraded(r, 0, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
ngx_http_upstream_process_upgraded(ngx_http_request_t *r,
|
ngx_http_upstream_process_upgraded(ngx_http_request_t *r,
|
||||||
ngx_uint_t from_upstream)
|
ngx_uint_t from_upstream, ngx_uint_t do_write)
|
||||||
{
|
{
|
||||||
size_t size;
|
size_t size;
|
||||||
ssize_t n;
|
ssize_t n;
|
||||||
ngx_buf_t *b;
|
ngx_buf_t *b;
|
||||||
ngx_uint_t do_write;
|
|
||||||
ngx_connection_t *c, *downstream, *upstream, *dst, *src;
|
ngx_connection_t *c, *downstream, *upstream, *dst, *src;
|
||||||
ngx_http_upstream_t *u;
|
ngx_http_upstream_t *u;
|
||||||
ngx_http_core_loc_conf_t *clcf;
|
ngx_http_core_loc_conf_t *clcf;
|
||||||
|
Loading…
Reference in New Issue
Block a user