[squid-dev] [PATCH] Bug 3803 : IDENT upgrade pt1

Amos Jeffries squid3 at treenet.co.nz
Mon Oct 6 06:49:56 UTC 2014


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

In absence of feedback this will be applied in a few days for use in 3.5.

Amos

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
> patch.
> 
> 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.
> 
> Amos

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.22 (MingW32)

iQEcBAEBAgAGBQJUMjuTAAoJELJo5wb/XPRjQq4IALsUFZA+ORZUK48/lqWKgwNn
SanR/p3MLtQLI62MfUzP/daM7ihzIXhA9+idEUlt2/i+ghmY7JRwQ+QY8graa7NO
3f3WMs/a+esehPbQgFq8ltzKTL1eH593HPJqh3waQLa6zJ7/l+zwUSsMkqBMneCY
C/WSiZCFgW2/huRMgczjNs+pc2eMw/CHrVIGcgKS2DvmDgg8i5m9zmj+2a9URAq6
uJJ5L7AOBcQ9CuSMm5Xktuy2PmmKJPviR4gRRfjsxuR8JhpM0bXgEDK73CZ6EDq1
LtHpmSoVjLgqWcsku2fgr2SEJ7Di1sinXIWzVSVLBhzSpym57vHT1eYyO4k1Voc=
=pyE5
-----END PGP SIGNATURE-----


More information about the squid-dev mailing list