This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author ncoghlan
Recipients grahamd, ncoghlan, pitrou
Date 2012-08-21.14:33:43
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1345559624.38.0.254577276692.issue15751@psf.upfronthosting.co.za>
In-reply-to
Content
My understanding of the mod_wsgi architecture is that it uses subinterpreters to maintain a persistent process, while still providing a relatively pristine interpreter state to handle each new request. This means even when you're using multiple processes with a single request handling thread per process, you're running a subinterpreter unless you explicitly configure mod_wsgi to always run in the main interpreter (which, I believe, will result in additional state persistence across requests).

The proposed API change can only fix scenarios where *at a given point in time*, *all* PyGILState_Ensure calls should be directed to a particular subinterpreter. The target subinterpreter may change *later*, but there still cannot be two desired targets within the same process at the same time.

However, at the moment, PyGILState doesn't even allow that - all externally created threads are handled in the *main* interpreter even if that isn't what the embedding application wants.
History
Date User Action Args
2012-08-21 14:33:44ncoghlansetrecipients: + ncoghlan, pitrou, grahamd
2012-08-21 14:33:44ncoghlansetmessageid: <1345559624.38.0.254577276692.issue15751@psf.upfronthosting.co.za>
2012-08-21 14:33:43ncoghlanlinkissue15751 messages
2012-08-21 14:33:43ncoghlancreate