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 arigo, fdrake, pitrou, serhiy.storchaka, tim.peters
Date 2016-12-05.10:22:08
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1480933328.48.0.229436939002.issue28427@psf.upfronthosting.co.za>
In-reply-to
Content
Hi Armin,

> is it still necessary to modify weakref.py so much, then?

Not sure. I'll take a look again. Modifying __len__() at least is necessary, as the previous version took into account the length of _pending_removals (and could therefore return wrong results). I'm inclined to be a bit defensive here.

> The C function would simply call PyObject_GetItem() and PyObject_DelItem()---without releasing the GIL in the middle.

If you implement it like that, and the dictionary has non-trivial keys with a user-defined __hash__, then the GIL can be released at the beginning of PyObject_DelItem().
History
Date User Action Args
2016-12-05 10:22:08pitrousetrecipients: + pitrou, tim.peters, fdrake, arigo, serhiy.storchaka
2016-12-05 10:22:08pitrousetmessageid: <1480933328.48.0.229436939002.issue28427@psf.upfronthosting.co.za>
2016-12-05 10:22:08pitroulinkissue28427 messages
2016-12-05 10:22:08pitroucreate