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
|