From: Alex Rousskov Date: Tue, 28 Jan 2014 19:28:23 +0000 (-0700) Subject: Comm job callbacks need job's cbdata pointer, not a job pointer. X-Git-Tag: SQUID_3_5_0_1~395 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9fed6779fcf916c913ea85e198a1be99b2c4ad38;p=thirdparty%2Fsquid.git Comm job callbacks need job's cbdata pointer, not a job pointer. Otherwise, in complex inheritance hierarchies, some [inner] classes will hit cbdata cookie assertions when scheduling Comm calls with callbacks. --- diff --git a/src/CommCalls.h b/src/CommCalls.h index dba72d1554..084171b928 100644 --- a/src/CommCalls.h +++ b/src/CommCalls.h @@ -176,7 +176,7 @@ public: typedef void (C::*Method)(const Params &io); CommCbMemFunT(const CbcPointer &aJob, Method aMeth): JobDialer(aJob), - CommDialerParamsT(aJob.get()), + CommDialerParamsT(aJob->toCbdata()), method(aMeth) {} virtual bool canDial(AsyncCall &c) {