diff options
| author | Maxim Dounin <mdounin@mdounin.ru> | 2021-10-29 20:21:54 +0300 |
|---|---|---|
| committer | Maxim Dounin <mdounin@mdounin.ru> | 2021-10-29 20:21:54 +0300 |
| commit | b3b368184b1e3c82da6703e8d7367f38fdc98d1a (patch) | |
| tree | 90b050a7621ba3a9595e96a8c5d6b29723752895 /src/core/ngx_output_chain.c | |
| parent | 6b0d773fbd95675b64ceaa34aefd60ae92b2a96b (diff) | |
| download | nginx-b3b368184b1e3c82da6703e8d7367f38fdc98d1a.tar.gz nginx-b3b368184b1e3c82da6703e8d7367f38fdc98d1a.tar.bz2 | |
Upstream: sendfile_max_chunk support.
Previously, connections to upstream servers used sendfile() if it was
enabled, but never honored sendfile_max_chunk. This might result
in worker monopolization for a long time if large request bodies
are allowed.
Diffstat (limited to 'src/core/ngx_output_chain.c')
| -rw-r--r-- | src/core/ngx_output_chain.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/core/ngx_output_chain.c b/src/core/ngx_output_chain.c index 5c3dbe872..fd4603b19 100644 --- a/src/core/ngx_output_chain.c +++ b/src/core/ngx_output_chain.c @@ -803,6 +803,10 @@ ngx_chain_writer(void *data, ngx_chain_t *in) return NGX_ERROR; } + if (chain && c->write->ready) { + ngx_post_event(c->write, &ngx_posted_next_events); + } + for (cl = ctx->out; cl && cl != chain; /* void */) { ln = cl; cl = cl->next; |
