[gambit-list] termite exception propagation

Phil Dawes pdawes at users.sf.net
Fri Sep 7 14:32:13 EDT 2007


After you've initialized termite with (init)?

Cheers,

Phil

James Long wrote:
> The below code works for me (which is exactly the same as yours):
> 
> (define (test-exceptions)
>   (with-exception-catcher
>    (lambda (exception) #t)
>    (lambda ()
>      (spawn-link (lambda () (raise 'dying)))
>      (? 5)
>      #f)))
> 
> $ gsi
>> (include "test-exceptions.scm")
>> (test-exceptions)
> #t
> 
> I'm on gambit 4b22 with the latest version of termite and running OS
> X.  Although I can't directly help you, it may help to know that it
> should work that way.
> 
> On 9/7/07, Phil Dawes <pdawes at users.sf.net> wrote:
>> Hi Gambit List,
>>
>> (I'm not sure if this is the right forum to ask termite questions,
>> apologies if not)
>>
>> My understanding from the termite paper is that linked processes
>> propagate exceptions to exception catchers/handlers, and so I was
>> expecting the following to return #t:
>>
>> (define (test-spawn-link)
>>    (with-exception-catcher
>>     (lambda (exception) #t)
>>     (lambda ()
>>       (spawn-link (lambda ()
>>                     (raise 'dying)))
>>       (? 5)
>>       #f)
>>     ))
>>
>> (init)
>> (test-spawn-link)
>>
>> However this returns #f, indicating that the handler isn't called.
>> Moreover the value of the exception is returned by the receiver (? 5).
>> Am I missing something or has this behaviour changed since the paper?
>>
>> Also, is there anywhere else to get documentation for termite?
>>
>> (tested on gambit 4b22 and 4.0.0)
>>
>> Many thanks,
>>
>> Phil
>>
>>
>>
>> _______________________________________________
>> Gambit-list mailing list
>> Gambit-list at iro.umontreal.ca
>> https://webmail.iro.umontreal.ca/mailman/listinfo/gambit-list
>>
> 
> 





More information about the Gambit-list mailing list