Some Delay tweaks

stephane ducasse stephane.ducasse at free.fr
Sun Sep 2 09:43:59 UTC 2007


will be 3.10 team harvest this change?

Stef

On 31 août 07, at 05:52, Andreas Raab wrote:

> Hi -
>
> Just FYI, I've updated http://bugs.squeak.org/view.php?id=6576 with  
> another change set containing a few relevant tweaks to Delay. The  
> most important one is probably the one which ensures that Delays  
> get unscheduled if the process they wait for is terminated. The  
> problem is that delays which are scheduled are kept in the  
> SuspendedDelays even after "their" process terminates. So that, for  
> example a "(Delay forSeconds: 9999999) wait" (with an Alt-Period  
> following it) would leave that delay being scheduled for expiry 100  
> days from now although its process is long gone.
>
> The tweaks also ensure that delays which actually expire in  
> Semaphore>>waitTimeoutMSecs: don't get unscheduled twice (since  
> unscheduling is a linear search over all scheduled delays it should  
> be avoided).
>
> Lastly, there is a bit of bullet-proofing to  
> Delay>>handleTimerEvent since each poll of the msecs clock has the  
> potential to overflow and needs to be guarded explicitly. The  
> tweaks make sure there is only one such poll and consequently only  
> one place to check. Except from another obscure situation which the  
> change set addresses as well.
>
> In any case, it's a nice roundup for the Delay changes. If you're  
> using the first one, you should probably use this one as well.
>
> Cheers,
>   - Andreas
>
>




More information about the Squeak-dev mailing list