> On 02 Nov 2014, at 19:19, Ben Coman <[email protected]> wrote:
> 
> 
> ImageCleaner>>cleanUpForRelease calls >>cleanUpMethods which calls
> Delay class>>startTimerEventLoop.   I thought this would have started with a 
> clean/empty suspended delays heap, but it carries forward
> the old SuspendedDelays.
> 
> So if there happened to be a suspended delay expiring in a month's time,
> that would not be affected by ImageCleaner and would end up in the release.
> 
> I believe the correct behaviour would be for ImageCleaner to produce a 
> clean/empty suspended delays, and so that no waiting processing get stuck, 
> signal any remaining suspended delays when the timer event loop is stopped by 
> Delay class>>stopTimerEventLoop.
> 
> Any objections?
> 

No, sounds good.

#cleanUpMethods is supposed to re-start all methods that hold on to existing 
blocks, so that the compiled methods they hold on to get GCed.
(e.g. very important when compiler changes are done to not have old methods 
around).

At some point I added it to the #cleanUpForRelease as it does not hurt… 

(and #cleanUpForRelease we all after every update as the final goal is to have 
the CI build be the release artefact unchannged)

        Marcus



Reply via email to