I'm actually doing forkAndWait on the timer actions to prevent any synchronisation problems, and to prevent me spawning too many processes and bringing down the system :/
On 7 Sep 2012, at 13:02, Frank Shearar <[email protected]> wrote: > On 7 September 2012 12:29, Joe Rickerby <[email protected]> wrote: >> I have a solution however! Each timer on the run loop runs its action in a >> fork. This way any exception raised cannot unroll the stack to outside my >> run loop code. > > Right. That's effectively identical to using a delimited continuation: > that marks the stack such that when you cut the continuation you can't > capture past the stack marker. [1] > > The problem you might have is that the actions, being forked, run in a > separate Process. That means you have to worry about synchronising - > accessing common state from two actions (that are, of course, now > running in parallel). > > frank > > [1] http://okmij.org/ftp/continuations/green-fork.html > >> On 7 Sep 2012, at 12:24, Joe Rickerby <[email protected]> >> wrote: >> >>> Not really. Proceed would take me back to where the exception was >>> signalled. I want to resume at the point of the catch of the exception, no >>> matter what happens regarding the exception. >>> >>> On 7 Sep 2012, at 09:40, Henrik Sperre Johansen >>> <[email protected]> wrote: >>> >>>> On 07.09.2012 10:17, Joe Rickerby wrote: >>>>> Hi all, >>>>> >>>>> I'm having a problem trying to build a run loop. If an exception is >>>>> signalled within one of the run loop tasks, the exception escapes through >>>>> the loop and terminates the process. >>>>> >>>>> I know I can catch the exception, and do something like print the message >>>>> on the Transcript, but I was hoping to build something that was more >>>>> helpful in development, allowing me to look through the stack, but if I >>>>> press 'abandon' on that dialog, the run loop would continue from where I >>>>> caught the exception. >>>>> >>>>> >>>> Isn't that exactly what happens if you don't handle the error, and use the >>>> proceed button in (pre and normal) debugger windows? >>>> >>>> Cheers, >>>> Henry >>> >> >> >> > >
