hi, On Mon, Apr 07, 2008 at 11:18:51PM +0100, Alaric Snell-Pym wrote: > > On 7 Apr 2008, at 11:15 pm, Hans Bulfone wrote: > >> and i'd find it even better if we could change the behaviour of the >> default exception handler to unwind the dynamic-wind stack before >> exiting or terminating the thread. i think it's a more useful default >> behaviour... but i don't know if it's easily doable... > > Can it not be done by wrapping every thread (even the primordial one) > in a conventional exception catching block, which then generates a > normal exception handler which calls to a continuation up in the > dynamic scope of the catching block, thus unwinding the stack? Then > it can just catch the exception and report exceptional thread > termination, or in the normal course of events cleanly shut the > thread down. > > Should be an easy fix, no?
semantically you are right but i don't know how easy this is for the default handler which is probably just a procedure and not defined with handle-exceptions or something. at least you can't just wrap everything the compiler sees in a handle-exceptions because then there would be no more toplevel expressions :) perhaps it's possible to somehow wrap the call to the main toplevel in a handle-exceptions but i don't know how this looks like. it requires some sort of process-exit-continuation... where the continuation would actually be the process who wait()s for the exit status of the chicken process :) bye, hans. _______________________________________________ Chicken-users mailing list [email protected] http://lists.nongnu.org/mailman/listinfo/chicken-users
