]> git.ipfire.org Git - thirdparty/squid.git/commit
Added expectNoConsumption() BodyPipe method to allow the consumer side to
authorAlex Rousskov <rousskov@measurement-factory.com>
Sun, 12 Sep 2010 00:04:20 +0000 (18:04 -0600)
committerAlex Rousskov <rousskov@measurement-factory.com>
Sun, 12 Sep 2010 00:04:20 +0000 (18:04 -0600)
commitabe286b83515881f964aff82503cd983a421ba72
treea72117fa8a1c9a0bec4a274a7e2c79e5e2086b7a
parentc7d51c86241d69feb80d219eebc56f08c88464fb
Added expectNoConsumption() BodyPipe method to allow the consumer side to
tell the pipe that no more consumers are expected.

Calling expectNoConsumption() is needed when all consumers are gone but none
of them consumed anything. This is typical for HTTP server-side transactions
that abort before they receive the adapted ICAP request body. If FwdState
quits without calling expectNoConsumption(), the ICAP transaction supplying
the request body may get stuck waiting for buffer space. The body pipe may be
the ICAP only link with the master transaction once the header is handled.

This change is related to Squid bug #2964.
Based on lp 3p1-rock branch, r9609.
src/BodyPipe.cc
src/BodyPipe.h