python, dlls, and multiple instances

Patrick Stinson patrickstinson.lists at gmail.com
Wed Jun 4 18:33:18 EDT 2008


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" <martin at v.loewis.de> 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
>



More information about the Python-list mailing list