<arigato>
archie2342345234 (for the logs): I can't help because that looks like your library is just buggy (and I guess it doesn't document that unexpected behaviour). This sounds unrelated to the GIL. The fact that there is a GIL should be ignored when using cffi, because if your Python program is multithreaded then calls you make to some C library will really be done in parallel (without the GIL)
<arigato>
if you're getting segfaults if you do the calls from multiple Python threads, and if your workaround makes the calls from a single thread, then the reason is just that the C library doesn't expect to be called from multiple threads
<arigato>
that's a correct workaround then; another correct one would be to use explicit locks around all calls