]> git.ipfire.org Git - thirdparty/squid.git/commit - src/FwdState.cc
Bug 3346: forward.cc:364: "entry->store_status == STORE_PENDING"
authorChristos Tsantilas <chtsanti@users.sourceforge.net>
Mon, 3 Oct 2011 10:17:42 +0000 (13:17 +0300)
committerChristos Tsantilas <chtsanti@users.sourceforge.net>
Mon, 3 Oct 2011 10:17:42 +0000 (13:17 +0300)
commitc4a88a3e73000defeddf2ffd1a1104de08cb7fe6
treea0cdb5ef92c5da8de8e7a1a26cda9f10e2af8ac8
parent3e9ed1c8093884fb3296f503522b144012c3a180
Bug 3346: forward.cc:364: "entry->store_status == STORE_PENDING"

While the server writes the response to Store, the client side may
synchronously abort the entry. This happens, for example, when the
server receives a 304 response and handleIMSReply calls
sendClientOldEntry, which calls storeUnregister with our entry,
resulting in CheckQuickAbort.

Once server store write returns, if the server is done, it calls
FwdState::completed(). At that time, the server does not know that (and
should not care whether) the entry was aborted. Thus, we need to handle
aborted entries in FwdState::completed.

This is a Measurement Factory project.
src/forward.cc