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 vstinner
Recipients ebfe, vstinner
Date 2008-12-26.21:42:10
SpamBayes Score 0.0002621444
Marked as misclassified No
Message-id <1230327730.92.0.273208459906.issue4751@psf.upfronthosting.co.za>
In-reply-to
Content
I think that you don't use Py_BEGIN_ALLOW_THREADS / 
Py_END_ALLOW_THREADS correctly: the GIL can be released when the 
hashlib lock is acquired (to run hash functions in parallel threads). 
So the macros should be:

#define ENTER_HASHLIB \
   PyThread_acquire_lock(self->lock, 1); \
   Py_BEGIN_ALLOW_THREADS

#define LEAVE_HASHLIB \
   Py_END_ALLOW_THREADS \
   PyThread_release_lock(self->lock);

If I'm right, issue #4738 (zlib) is also affected.
History
Date User Action Args
2008-12-26 21:42:11vstinnersetrecipients: + vstinner, ebfe
2008-12-26 21:42:10vstinnersetmessageid: <1230327730.92.0.273208459906.issue4751@psf.upfronthosting.co.za>
2008-12-26 21:42:10vstinnerlinkissue4751 messages
2008-12-26 21:42:10vstinnercreate