[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
more futures
From: |
Andy Wingo |
Subject: |
more futures |
Date: |
Wed, 21 Dec 2005 17:30:26 -0500 |
Semi-replying to my own mail,
On Wed, 2005-12-21 at 17:10 -0500, Andy Wingo wrote:
> From then on out I can't call nsum any more. Perhaps threads assigned to
> futures are not being gc'd properly.
If I run (gc) it's fine. I caught the error at
threads.c:scm_spawn_thread; pthread_create is returning an error. I'm
not really sure what's causing the error, though -- i.e. what is the
resource that is under contention.
Furthermore there is some odd behavior here:
guile> (make-future (lambda () (throw 'foo)))
$4 = #<future #<procedure #f ()>>
In thread:
uncaught throw to foo: ()
guile> (future-ref $4)
[hangs]
One would expect future-ref to raise the same exception; the thread
finished, the future knows it; there's no reason to hang there. Raising
an exception makes more sense.
Well these are just ordinary bugs I suppose. I'm looking forward to
playing more with guile 1.7.
--
Andy Wingo
http://wingolog.org/
- more futures,
Andy Wingo <=