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