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 grahamd
Recipients Rhamphoryncus, fdirosa, grahamd, nnorwitz, timbishop, vslavik
Date 2008-07-24.02:15:01
SpamBayes Score 0.1004171
Marked as misclassified No
Message-id <1216865704.29.0.607622627113.issue1758146@psf.upfronthosting.co.za>
In-reply-to
Content
Franco, you said 'I found that you cannot create additional thread 
states against the  first interpreter and swap between them w/o this 
assertion occurring. ...'

Since the Py_DEBUG check is checking against the simplified GIL state 
API thread state object, then technically you could have a thread with 
multiple thread states, that thread just can't ever use/have used 
simplified GIL state API.

Take for example a system where threads are actually foreign threads and 
not created within Python. In this case simplified GIL state API thread 
state object would never have been created for that thread. For those 
you could have multiple thread states and not trip the test.

In other words, multiple thread states only blocked if one of them is 
the internal one created by simplified GIL state AP. This is getting 
hard to avoid though.

In summary, the simplified GIL state API is basically viral in nature.
History
Date User Action Args
2008-07-24 02:15:04grahamdsetspambayes_score: 0.100417 -> 0.1004171
recipients: + grahamd, nnorwitz, Rhamphoryncus, timbishop, vslavik, fdirosa
2008-07-24 02:15:04grahamdsetspambayes_score: 0.100417 -> 0.100417
messageid: <1216865704.29.0.607622627113.issue1758146@psf.upfronthosting.co.za>
2008-07-24 02:15:03grahamdlinkissue1758146 messages
2008-07-24 02:15:01grahamdcreate