<div dir="ltr">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.<div><br></div><div>From reading other posts in the thread, it does seem that Allegro CL is the outlier.</div>
<div><br></div><div>I could add a note in the manual that mentions that whether GC blocks during a foreign function call is implementation dependent.</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Fri, Aug 2, 2013 at 2:54 AM, Luís Oliveira <span dir="ltr"><<a href="mailto:loliveira@common-lisp.net" target="_blank">loliveira@common-lisp.net</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">On Wed, Jul 31, 2013 at 10:15 AM, Stelian Ionescu <<a href="mailto:sionescu@cddr.org">sionescu@cddr.org</a>> wrote:<br>
> SBCL never disables GC globally, and I don't think that CCL, ECL or ABCL<br>
> do that either.<br>
> <a href="http://www.lispworks.com/documentation/lw61/FLI/html/fli-94.htm#pgfId-1070272" target="_blank">http://www.lispworks.com/documentation/lw61/FLI/html/fli-94.htm#pgfId-1070272</a> 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.<br>
<br>
</div>Precise confirmation would be nice -- a test perhaps -- would be nice.<br>
Felix, do you feel like writing a test that checks whether GC can<br>
happen while a foreign function call is ongoing?<br>
<br>
If we can confirm that ACL is the outlier, then (a) I'm all for<br>
changing cffi-allegro's implementation to match the semantics of the<br>
other Lisps and (b) documenting these semantics in the manual.<br>
<div class="HOEnZb"><div class="h5"><br>
Cheers,<br>
<br>
--<br>
Luís Oliveira<br>
<a href="http://kerno.org/~luis/" target="_blank">http://kerno.org/~luis/</a><br>
</div></div></blockquote></div><br></div>