ahh, ok. Looks like my fundamental understanding of how dlls work was a little messed up. Thanks!
On Sun, Jun 1, 2008 at 10:42 AM, "Martin v. Löwis" <[EMAIL PROTECTED]> wrote: >> Is it a correct to assume that you can use multiple instances of >> python altogether if each is loaded from a separate dll? For instance, >> if I write a couple of dll/so libs, and each has python statically >> linked in, is it safe to assume that since dlls use their own address >> space > > DLLs don't use their own address space. All DLLs of a single operating > system process use the same address space. > > Different DLLs do use different portions of that address space. > >> then each dll would have it's own GIL, and will therefore >> coexist safely within the same app? This is correct across all >> platforms, yes? > > No; it rather depends on the way the operating system resolves symbols. > On some systems (e.g. many Unix systems), there is only a single global > symbol table for the entire process. So when a shared library is loaded, > and needs to resolve its symbols (even the ones that it also defines > itself), it may end up finding the GIL in a different copy of the Python > interpreter, so they all share the GIL (even though there would have > been space for multiple GILs). > > Regards, > Martin > -- > http://mail.python.org/mailman/listinfo/python-list > -- http://mail.python.org/mailman/listinfo/python-list