Message162536
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. |
|
Date |
User |
Action |
Args |
2012-06-08 17:04:48 | jcbollinger | set | recipients:
+ jcbollinger, ned.deily, r.david.murray, asvetlov |
2012-06-08 17:04:46 | jcbollinger | set | messageid: <1339175086.96.0.304267078249.issue14390@psf.upfronthosting.co.za> |
2012-06-08 17:04:46 | jcbollinger | link | issue14390 messages |
2012-06-08 17:04:45 | jcbollinger | create | |
|