Author eli.bendersky
Recipients Arfrever, Robin.Schreiber, asvetlov, effbot, eli.bendersky, pitrou
Date 2013-08-07.13:47:16
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <CAF-Rda9PFepvu4VY1Ux_xZnbyhzevoMAoqoGfv-LSU_jQphq2g@mail.gmail.com>
In-reply-to <1404971900.48608507.1375882110112.JavaMail.root@zimbra10-e2.priv.proxad.net>
Content
On Wed, Aug 7, 2013 at 6:28 AM, Antoine Pitrou <report@bugs.python.org>wrote:

>
> Antoine Pitrou added the comment:
>
> > First, I think it omits expat_capi from the state. Is that
> > intentional?
>
> What would it do in the state? There's nothing to release.
>

That's true, but I thought one of the goals of PEP 3121 is to separate
states between sub-interpreters. So that one can't corrupt another. I'm not
sure how much it matters in practice in this case of the pyexpat capsule;
need to look into it more.

> > Second, I'm not sure if this approach is fully aligned with PEP 3121.
> > A global, shared state is still used. Instead of actually having a
> > different module state per subinterpreter, this patch will have
> > shared state.
>
> I don't understand what you are talking about. Perhaps you haven't looked
> what PyState_FindModule() does?
>

I did not look at the implementation yet. But the documentation says:

"""Returns the module object that was created from *def* for the current
interpreter. This method requires that the module object has been attached
to the interpreter state with
PyState_AddModule()<http://docs.python.org/dev/c-api/module.html?highlight=pymoduledef_base#PyState_AddModule>beforehand.
In case the corresponding module object is not found or has not
been attached to the interpreter state yet, it returns NULL."""

I don't see a call to PyState_AddModule. What am I missing?
History
Date User Action Args
2013-08-07 13:47:16eli.benderskysetrecipients: + eli.bendersky, effbot, pitrou, Arfrever, asvetlov, Robin.Schreiber
2013-08-07 13:47:16eli.benderskylinkissue15651 messages
2013-08-07 13:47:16eli.benderskycreate