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 jcbollinger
Recipients asvetlov, jcbollinger, ned.deily, r.david.murray
Date 2012-06-08.17:04:41
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1339175086.96.0.304267078249.issue14390@psf.upfronthosting.co.za>
In-reply-to
Content
I attach a patch fixing the issue and providing a test and docs.

The fix is substantially as I described earlier: a thread that holds the Tcl lock is permitted to acquire it logically any number of times, but physically attempts to acquire it only if it doesn't already hold it.  A thread-local counter ensures that the lock is logically released the same number of times it has been acquired before it is physically released.

The external API is unchanged, and even source changes are minimized to the greatest extent possible.

If this fix ultimately is accepted then I hope it can also be back-ported to 2.7.
History
Date User Action Args
2012-06-08 17:04:48jcbollingersetrecipients: + jcbollinger, ned.deily, r.david.murray, asvetlov
2012-06-08 17:04:46jcbollingersetmessageid: <1339175086.96.0.304267078249.issue14390@psf.upfronthosting.co.za>
2012-06-08 17:04:46jcbollingerlinkissue14390 messages
2012-06-08 17:04:45jcbollingercreate