For Allegro CL >= 8.1, the heap will be released during foreign function...

For Allegro CL >= 8.1, CFFI creates objects in a static area, so its safe to run GC during a foreign function call.

This is especially important when the foreign function blocks. Currently, a blocking foreign function would prevent GC from running, and therefore no other thread will make any progress.

I've posted about this on the [mailing list](http://www.mail-archive.com/cffi-devel@common-lisp.net/msg02378.html).