[Larceny-users] Passing bytevectors to C via the FFI

William D Clinger will at ccs.neu.edu
Sat Dec 15 16:48:59 EST 2007


Lars wrote:
> Unless you're calling back into Scheme from C, letting the C code
> retain a pointer into the bytevector, or Larceny has become
> multithreaded (and one thread can cause GC while another is inside a
> foreign call), you should be safe.

Larceny will become multithreaded during the next couple
of years, but our current plans still call stop-the-world
gc, where we wait for all threads to reach a point that's
safe for gc before we actually perform the collection.

That means a call from Scheme to C that never returns will
cause all threads to hang waiting on a gc, but a call to C
that never returns will hang the entire program now anyway,
and we can detect that situation using timeouts.

Will



More information about the Larceny-users mailing list