Welcome! Log In Create A New Profile

Advanced

[nginx] Write filter: fixed handling of sync bufs (ticket #132).

Maxim Dounin
November 28, 2014 09:02AM
details: http://hg.nginx.org/nginx/rev/08bfc7188a41
branches:
changeset: 5926:08bfc7188a41
user: Maxim Dounin <mdounin@mdounin.ru>
date: Fri Nov 28 16:58:39 2014 +0300
description:
Write filter: fixed handling of sync bufs (ticket #132).

diffstat:

src/http/ngx_http_write_filter_module.c | 13 +++++++++++--
1 files changed, 11 insertions(+), 2 deletions(-)

diffs (51 lines):

diff --git a/src/http/ngx_http_write_filter_module.c b/src/http/ngx_http_write_filter_module.c
--- a/src/http/ngx_http_write_filter_module.c
+++ b/src/http/ngx_http_write_filter_module.c
@@ -48,7 +48,7 @@ ngx_int_t
ngx_http_write_filter(ngx_http_request_t *r, ngx_chain_t *in)
{
off_t size, sent, nsent, limit;
- ngx_uint_t last, flush;
+ ngx_uint_t last, flush, sync;
ngx_msec_t delay;
ngx_chain_t *cl, *ln, **ll, *chain;
ngx_connection_t *c;
@@ -62,6 +62,7 @@ ngx_http_write_filter(ngx_http_request_t

size = 0;
flush = 0;
+ sync = 0;
last = 0;
ll = &r->out;

@@ -105,6 +106,10 @@ ngx_http_write_filter(ngx_http_request_t
flush = 1;
}

+ if (cl->buf->sync) {
+ sync = 1;
+ }
+
if (cl->buf->last_buf) {
last = 1;
}
@@ -157,6 +162,10 @@ ngx_http_write_filter(ngx_http_request_t
flush = 1;
}

+ if (cl->buf->sync) {
+ sync = 1;
+ }
+
if (cl->buf->last_buf) {
last = 1;
}
@@ -188,7 +197,7 @@ ngx_http_write_filter(ngx_http_request_t
&& !(c->buffered & NGX_LOWLEVEL_BUFFERED)
&& !(last && c->need_last_buf))
{
- if (last || flush) {
+ if (last || flush || sync) {
for (cl = r->out; cl; /* void */) {
ln = cl;
cl = cl->next;

_______________________________________________
nginx-devel mailing list
nginx-devel@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-devel
Subject Author Views Posted

[nginx] Write filter: fixed handling of sync bufs (ticket #132).

Maxim Dounin 536 November 28, 2014 09:02AM



Sorry, you do not have permission to post/reply in this forum.

Online Users

Guests: 222
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready