aboutsummaryrefslogtreecommitdiff
path: root/src/http/modules/ngx_http_proxy_module.c
diff options
context:
space:
mode:
authorPatryk Lesiewicz <patryk@google.com>2017-12-01 15:59:14 -0800
committerPatryk Lesiewicz <patryk@google.com>2017-12-01 15:59:14 -0800
commit7b3f187bc6700a85b9cde04c063de59f4690b10c (patch)
treebee21bc0c3d4f0d6aecab432f8c1e9c2135edd05 /src/http/modules/ngx_http_proxy_module.c
parente13268714fa3f57adbc7c3891db86b025d79eaf4 (diff)
downloadnginx-7b3f187bc6700a85b9cde04c063de59f4690b10c.tar.gz
nginx-7b3f187bc6700a85b9cde04c063de59f4690b10c.zip
Upstream: flush low-level buffers on write retry.
If the data to write is bigger than what the socket can send, and the reminder is smaller than NGX_SSL_BUFSIZE, then SSL_write() fails with SSL_ERROR_WANT_WRITE. The reminder of payload however is successfully copied to the low-level buffer and all the output chain buffers are flushed. This means that retry logic doesn't work because ngx_http_upstream_process_non_buffered_request() checks only if there's anything in the output chain buffers and ignores the fact that something may be buffered in low-level parts of the stack. Signed-off-by: Patryk Lesiewicz <patryk@google.com>
Diffstat (limited to 'src/http/modules/ngx_http_proxy_module.c')
0 files changed, 0 insertions, 0 deletions