Do you mean an Allegro CL test? I don't think that's necessary since the manual is clear on the behavior, and I've witnessed GC block in my own code.
From reading other posts in the thread, it does seem that Allegro CL is the
outlier.
I could add a note in the manual that mentions that whether GC blocks during a foreign function call is implementation dependent.
On Fri, Aug 2, 2013 at 2:54 AM, Luís Oliveira loliveira@common-lisp.netwrote:
On Wed, Jul 31, 2013 at 10:15 AM, Stelian Ionescu sionescu@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-107027... 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/