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@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@iro.umontreal.ca https://webmail.iro.umontreal.ca/mailman/listinfo/gambit-list