malkarouri wrote: > Is it possible to write a Python extension that uses the Boehm garbage > collector? > I have a C library written that makes use of boehm-gc for memory > management. To use that, I have to call GC_INIT() at the start of the > program that uses the library. Now I want to encapsulate the library > as a CPython extension. The question is really is that possible? And > will there be conflicts between the boehm-gc and Python memory > management? And when should I call GC_INIT?
It probably should be possible with some caveats: - memory allocated by Python is never passed into the library such that it also ends up being subject to boehm-gc; - memory allocated by the library is never used by Python objects. So memcpy()ing between library allocated and Python allocated memory would seem to be a way to achieve this. I would call GC_INIT in the extension's import routine (init<module_name>()) for a C extension, and immediately after loading the library if using ctypes. -- ------------------------------------------------------------------------- Andrew I MacIntyre "These thoughts are mine alone..." E-mail: [EMAIL PROTECTED] (pref) | Snail: PO Box 370 [EMAIL PROTECTED] (alt) | Belconnen ACT 2616 Web: http://www.andymac.org/ | Australia -- http://mail.python.org/mailman/listinfo/python-list