* [PATCH] wbuf_common: reset offset counter when done
@ 2016-06-14 19:41 Eric Wong
0 siblings, 0 replies; only message in thread
From: Eric Wong @ 2016-06-14 19:41 UTC (permalink / raw)
To: yahns-public
This fixes a case where "proxy_buffering: false" users may
encounter a "upstream error: BUG: EOF on tmpio sf_offset="
as a wbuf may be reused.
Oddly, it took over one week of running the latest proxy_pass
as of commit 616e42c8d609905d9355bb5db726a5348303ffae
("proxy_pass: fix HTTP/1.0 backends on EOF w/o buffering")
---
lib/yahns/wbuf_common.rb | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/lib/yahns/wbuf_common.rb b/lib/yahns/wbuf_common.rb
index cded2e3..2799baf 100644
--- a/lib/yahns/wbuf_common.rb
+++ b/lib/yahns/wbuf_common.rb
@@ -19,7 +19,10 @@ module Yahns::WbufCommon # :nodoc:
def wbuf_flush(client)
case rv = client.trysendfile(@tmpio, @sf_offset, @sf_count)
when Integer
- return wbuf_close(client) if (@sf_count -= rv) == 0 # all sent!
+ if (@sf_count -= rv) == 0 # all sent!
+ @sf_offset = 0
+ return wbuf_close(client)
+ end
@sf_offset += rv # keep going otherwise
when :wait_writable, :wait_readable
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2016-06-14 19:41 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-06-14 19:41 [PATCH] wbuf_common: reset offset counter when done Eric Wong
Code repositories for project(s) associated with this public inbox
http://yhbt.net/yahns.git/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).