--------------------- PatchSet 4756 Date: 2007/06/19 06:00:24 Author: rousskov Branch: squid3-icap Tag: (none) Log: Before deleting a stale update event, check whether the event is there because I saw an unreproducible(?) eventDelete assertion indicating that the event disappeared. Polished debugging. Members: src/ICAP/ICAPServiceRep.cc:1.1.2.21->1.1.2.22 Index: squid3/src/ICAP/ICAPServiceRep.cc =================================================================== RCS file: /cvsroot/squid-sf//squid3/src/ICAP/ICAPServiceRep.cc,v retrieving revision 1.1.2.21 retrieving revision 1.1.2.22 diff -u -r1.1.2.21 -r1.1.2.22 --- squid3/src/ICAP/ICAPServiceRep.cc 19 Jun 2007 05:18:21 -0000 1.1.2.21 +++ squid3/src/ICAP/ICAPServiceRep.cc 19 Jun 2007 06:00:24 -0000 1.1.2.22 @@ -175,7 +175,7 @@ void ICAPServiceRep::noteFailure() { ++theSessionFailures; - debugs(93,4, theSessionFailures << "ICAP service failures, out of " << + debugs(93,4, theSessionFailures << " ICAPService failures, out of " << TheICAPConfig.service_failure_limit << " allowed " << status()); if (isSuspended) @@ -476,7 +476,12 @@ { if (updateScheduled) { debugs(93,7, "ICAPService reschedules update"); - eventDelete(&ICAPServiceRep_noteTimeToUpdate, this); + // XXX: check whether the event is there because AR saw + // an unreproducible eventDelete assertion on 2007/06/18 + if (eventFind(&ICAPServiceRep_noteTimeToUpdate, this)) + eventDelete(&ICAPServiceRep_noteTimeToUpdate, this); + else + debugs(93,1, "XXX: ICAPService lost an update event."); updateScheduled = false; }