[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
> clever.
>
> cheers
> Philippe
>
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).

Cheers,
Henry
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.squeakfoundation.org/pipermail/seaside/attachments/20110909/fa14d654/attachment.htm


More information about the seaside mailing list