Allowing GC in Allegro CL SMP during foreign function calls
Luís Oliveira
loliveira at common-lisp.net
Fri Aug 2 00:54:20 UTC 2013
On Wed, Jul 31, 2013 at 10:15 AM, Stelian Ionescu <sionescu at cddr.org> wrote:
> SBCL never disables GC globally, and I don't think that CCL, ECL or ABCL
> do that either.
> http://www.lispworks.com/documentation/lw61/FLI/html/fli-94.htm#pgfId-1070272 has no mention of GC, so it would seem that among SMP Lisps Allegro is the only one to do sophisticated stuff. CMUCL and Clisp are currently single-threaded so GC is implicitly disabled during foreign calls.
Precise confirmation would be nice -- a test perhaps -- would be nice.
Felix, do you feel like writing a test that checks whether GC can
happen while a foreign function call is ongoing?
If we can confirm that ACL is the outlier, then (a) I'm all for
changing cffi-allegro's implementation to match the semantics of the
other Lisps and (b) documenting these semantics in the manual.
Cheers,
--
Luís Oliveira
http://kerno.org/~luis/
More information about the cffi-devel
mailing list