diff options
author | Maxim Dounin <mdounin@mdounin.ru> | 2018-07-02 19:03:04 +0300 |
---|---|---|
committer | Maxim Dounin <mdounin@mdounin.ru> | 2018-07-02 19:03:04 +0300 |
commit | a7186c8f1ceef938b710509993719b93daff419a (patch) | |
tree | 4b5de6a4b9a20055c70b2d666778306c21adc883 /src/stream/ngx_stream_ssl_preread_module.c | |
parent | 1331a99f5c55cb1aff399000af56b17a43552e3f (diff) | |
download | nginx-a7186c8f1ceef938b710509993719b93daff419a.tar.gz nginx-a7186c8f1ceef938b710509993719b93daff419a.zip |
Upstream: fixed tcp_nopush with gRPC.
With gRPC it is possible that a request sending is blocked due to flow
control. Moreover, further sending might be only allowed once the
backend sees all the data we've already sent. With such a backend
it is required to clear the TCP_NOPUSH socket option to make sure all
the data we've sent are actually delivered to the backend.
As such, we now clear TCP_NOPUSH in ngx_http_upstream_send_request()
also on NGX_AGAIN if c->write->ready is set. This fixes a test (which
waits for all the 64k bytes as per initial window before allowing more
bytes) with sendfile enabled when the body was written to a file
in a different context.
Diffstat (limited to 'src/stream/ngx_stream_ssl_preread_module.c')
0 files changed, 0 insertions, 0 deletions