Bill Pursell wrote:
> I've got a simple extension module that contains two functions:
> void hi(void) __attribute__((constructor));
> void hi(void) { printf("Hi!\n");}
> void bye(void) __attribute__((destructor));
> void bye(void) { printf("Bye!\n");}
>
>
> When I run in the interpreter:
>
> >>> import spam
> Hi!
> >>> del spam
> >>>
>
> Notice that the destructor isn't called.  How can I force python
> to dlclose() the library and ensure that my destructors get called?
>

There is something about my google-fu that only allows me to
find things 25 seconds after I post....

>>> del sys.modules["spam"]
>>> del spam

Should remove all the references, but I still don't want to wait for
garbage collection.  I need to be sure that the dlclose() happens
and the destructors are called.  Can I do that? (without relying
on ctypes, preferrably.)

--
Bill Pursell

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to