[Seaside] Re: seaside Digest, Vol 105, Issue 12
Henrik Sperre Johansen
henrik.s.johansen at veloxit.no
Fri Sep 9 12:44:34 UTC 2011
On 09.09.2011 14:00, seaside-request at lists.squeakfoundation.org wrote:
> 2011/9/9 Tudor Girba<tudor at tudorgirba.com>:
>> > Igor and Stef can provide more details.
>> > The reason for forking is that even if one announcement breaks, the others should still be announced.
> You don't need forking to do this. A simple exception handler would
> work very well and not break any code. It just doesn't make you look
Which is why it was changed, after discussion with Lukas.
It only forks UnhandledErrors now, before delivering the remaining.
As long as there is no abnormal termination, it will work just as before.
If any subscribers would abnormally terminate though, the ifCurtailed:
kicks in, and (was supposed to) ensure delivers to remaining subscribers.
If something in Seaside relies on such behaviour (like terminating
current process in order for subsequent subscribers to not receive the
announcement) that will be broken.
I don't think messing with announcement delivery should be considered a
good control flow mechanism though.
What Esteban encountered as an error on some VM's was a pure bug I made
in the ifCurtailed: block (by using after: instead of copyAfter:), and
had nothing to do with forking.
Why some VM's considered the delivery abnormally terminated, while
others didn't, I have no idea though...
(The error he got only happens when the ifCurtailed block is invoked).
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the seaside