From: Christos Tsantilas Date: Mon, 27 Apr 2009 20:20:37 +0000 (+0300) Subject: regression fix bug #2583: pure virtual method called X-Git-Tag: SQUID_3_2_0_1~1033 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=de33bc826c62998eb9f633d0629f87eb20836502;p=thirdparty%2Fsquid.git regression fix bug #2583: pure virtual method called The applied patch hid the problem, did not fix it. This patch removes the applied patch and instead add an assertion check in ClientHttpRequest::~ClientHttpRequest destructor just before call the Adaptation::Initiator::announceInitiatorAbort method. --- diff --git a/src/adaptation/Initiator.cc b/src/adaptation/Initiator.cc index 08608042dd..efbfa4821b 100644 --- a/src/adaptation/Initiator.cc +++ b/src/adaptation/Initiator.cc @@ -24,7 +24,7 @@ Adaptation::Initiator::clearAdaptation(Initiate *&x) void Adaptation::Initiator::announceInitiatorAbort(Initiate *&x) { - if (x && cbdataReferenceValid(x)) { + if (x) { CallJobHere(93, 5, x, Initiate::noteInitiatorAborted); clearAdaptation(x); } diff --git a/src/client_side_request.cc b/src/client_side_request.cc index cd51b70323..7b7a6c6785 100644 --- a/src/client_side_request.cc +++ b/src/client_side_request.cc @@ -260,6 +260,7 @@ ClientHttpRequest::~ClientHttpRequest() freeResources(); #if USE_ADAPTATION + assert(cbdataReferenceValid(virginHeadSource)); announceInitiatorAbort(virginHeadSource); if (adaptedBodySource != NULL)