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

Reply via email to