From 691ad0955198819275233e7663f7d54f31bfd3e5 Mon Sep 17 00:00:00 2001 From: Amos Jeffries Date: Fri, 31 Jul 2015 19:22:12 -0700 Subject: [PATCH] Fix 'large transactions are getting stuck' since rev.14093 Packer removal of packerClean() also removed several implicit uses of StoreEntry::flush() without adding an explicit call in their place. All users of StoreEntry::buffer() must follow it with a call to StoreEntry:flush() to release the buffering and output the buffer contents. --- src/HttpRequest.cc | 1 + src/store.cc | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/HttpRequest.cc b/src/HttpRequest.cc index bc60ec3600..2388ac1c13 100644 --- a/src/HttpRequest.cc +++ b/src/HttpRequest.cc @@ -359,6 +359,7 @@ HttpRequest::swapOut(StoreEntry * e) assert(e); e->buffer(); pack(e); + e->flush(); } /* packs request-line and headers, appends terminator */ diff --git a/src/store.cc b/src/store.cc index 55a54f4d05..55e54e7e36 100644 --- a/src/store.cc +++ b/src/store.cc @@ -1918,7 +1918,7 @@ StoreEntry::replaceHttpReply(HttpReply *rep, bool andStartWriting) void StoreEntry::startWriting() { - /* TODO: when we store headers serparately remove the header portion */ + /* TODO: when we store headers separately remove the header portion */ /* TODO: mark the length of the headers ? */ /* We ONLY want the headers */ @@ -1934,6 +1934,7 @@ StoreEntry::startWriting() EBIT_CLR(flags, ENTRY_FWD_HDR_WAIT); rep->body.packInto(this); + flush(); } char const * -- 2.47.3