unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
* futures and error dodginess
@ 2004-09-06  1:30 Kevin Ryde
  0 siblings, 0 replies; only message in thread
From: Kevin Ryde @ 2004-09-06  1:30 UTC (permalink / raw)


Running

    (future-ref (future (error "x")))

sometimes gives

    Backtrace:
    In unknown file:
       ?: 0* [primitive-load "/home/gg/test/future.scm"]
    In /home/gg/test/future.scm:
       2: 1* [future-ref ...
       2: 2*  (future (error "x"))
    In unknown file:
       ?: 3*  [#f]

    /home/gg/test/future.scm:2:13: In procedure apply in expression (future (error "x")):
    /home/gg/test/future.scm:2:13: Wrong type argument in position 1: #f

It seems to be a race, sometimes the error is from future-ref about a
failed future (which is good), or sometimes just a segv.

I suspect %threads-handler is its dummy #f when future_handler tries
to call it.  Maybe that definition should be in boot-9 instead of the
threads module.

Adding that module

    (use-modules (ice-9 threads))
    (future-ref (future (error "x")))

then gives a printout

    In thread:
    ERROR: x

but hangs.


_______________________________________________
Guile-devel mailing list
Guile-devel@gnu.org
http://lists.gnu.org/mailman/listinfo/guile-devel


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2004-09-06  1:30 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-09-06  1:30 futures and error dodginess Kevin Ryde

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).