[squid-dev] [PATCH] Bug 3803 : IDENT upgrade pt1
squid3 at treenet.co.nz
Mon Oct 6 06:49:56 UTC 2014
-----BEGIN PGP SIGNED MESSAGE-----
In absence of feedback this will be applied in a few days for use in 3.5.
On 30/09/2014 8:58 p.m., Amos Jeffries wrote:
> Begin the process of conversion for IdentStateData to an AsyncJob.
> Referencing it as a 'job' below
> * convert the object from CBDATA struct to a class with
> CBDATA_CLASS2() API.
> * Bug 3803 is caused by a lack of proper cleanup and consistent
> exit actions terminating the job. Take the core logic changes from
> the tested bug patch and;
> 1) define a swanSong() method to cleanup the memory allocated
> 2) define a deleteThis() method to emulate AsyncJob::deleteThis()
> * Locate all code paths leveraging conn->close() to trigger
> cleanup via the connection close handler and convert to explicit
> deleteThis() with excuse. Including a few which were not but need
> to in order to terminate the job correctly as fixed in bug 3803
> The actions performed are nearly identical to the original code.
> The differences are that many code paths now omit an AsyncCall step
> going via the Comm close handler, and that all paths terminating
> the IDENT lookup now go through swanSong() cleanup.
> Further cleanup converting to a full AsyncJob is not included,
> since there is an explicit hash of running IdentStateData object
> pointers being used in the old code.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (MingW32)
-----END PGP SIGNATURE-----
More information about the squid-dev