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 pitrou
Recipients amaury.forgeotdarc, christian.heimes, kristjan.jonsson, pitrou
Date 2009-01-06.16:06:02
SpamBayes Score 0.008572456
Marked as misclassified No
Message-id <1231257963.24.0.41851450627.issue4293@psf.upfronthosting.co.za>
In-reply-to
Content
Ok, the test patch is fine!

Now looking at the main patch, some comments:
- you removed "volatile" from pendingfirst and pendinglast, is it really
safe?
- what if pending_lock is not initialized when Py_AddPendingCall is
called? I know it's unlikely, but imagine someone calling that function
just after the interpreter has been initialized
- the documentation should mention that the GIL must not be held when
Py_AddPendingCall is called, otherwise there can be a deadlock (is it a
change from previous versions by the way?)
- you should check the return value of PyThread_allocate_lock() for NULL
- is your implementation reentrant? that is, registering a callback from
a callback. There is no need for it to be, but if it aims to be, then it
should perhaps be documented and tested :)
History
Date User Action Args
2009-01-06 16:06:03pitrousetrecipients: + pitrou, amaury.forgeotdarc, kristjan.jonsson, christian.heimes
2009-01-06 16:06:03pitrousetmessageid: <1231257963.24.0.41851450627.issue4293@psf.upfronthosting.co.za>
2009-01-06 16:06:02pitroulinkissue4293 messages
2009-01-06 16:06:02pitroucreate