]> git.ipfire.org Git - thirdparty/squid.git/commit
Instead of exiting, disable optional eCAP services that fail initialization.
authorAlex Rousskov <rousskov@measurement-factory.com>
Wed, 30 Mar 2011 18:07:38 +0000 (12:07 -0600)
committerAlex Rousskov <rousskov@measurement-factory.com>
Wed, 30 Mar 2011 18:07:38 +0000 (12:07 -0600)
commit45d2da8b5a45802a06befbdcdaa22f6f3eba4738
tree45c84a1399062b40370f6346eeadd76604e7a1be
parent53340485c36f6d7eba9a88a1365bc0ed2824d5e7
Instead of exiting, disable optional eCAP services that fail initialization.

Report all service initialization failures but mark optional services
down instead of killing Squid by propagating the failure to the Squid
core.  An initialization failure of an optional (bypass=1) service
should not lead to Squid quitting because, according to squid.conf, such
a service may be replaced by other services (using adaptation sets) or
simply ignored.

Initialization failures of essential services still lead to fatal
errors, but they are now reported better.

Ecap services should indicate failures by throwing an exception. Squid
reports exception details using std::exception::what() method if
possible.
src/adaptation/ecap/ServiceRep.cc
src/adaptation/ecap/ServiceRep.h