Staging
v0.5.1
https://github.com/python/cpython
Revision 39a8fddb1507593ebc8449ddcecd30ddaca69931 authored by Barry Warsaw on 28 May 2003, 23:03:30 UTC, committed by Barry Warsaw on 28 May 2003, 23:03:30 UTC
    SF 742860: WeakKeyDictionary __delitem__ uses iterkeys

    Someone review this, please!  Final releases are getting close, Fred
    (the weakref guy) won't be around until Tuesday, and the pre-patch
    code can indeed raise spurious RuntimeErrors in the presence of
    threads or mutating comparison functions.

    See the bug report for my confusions:  I can't see any reason for why
    __delitem__ iterated over the keys.  The new one-liner implementation
    is much faster, can't raise RuntimeError, and should be better-behaved
    in all respects wrt threads.

    New tests test_weak_keyed_bad_delitem and
    test_weak_keyed_cascading_deletes fail before this patch.

Backported the tests and the patch.
1 parent 7496e18
History
Tip revision: 39a8fddb1507593ebc8449ddcecd30ddaca69931 authored by Barry Warsaw on 28 May 2003, 23:03:30 UTC
The backport gets Fred's seal of approval:
Tip revision: 39a8fdd
File Mode Size
Demo
Doc
Grammar
Include
Lib
Mac
Misc
Modules
Objects
PC
PCbuild
Parser
Python
RISCOS
Tools
.cvsignore -rw-r--r-- 109 bytes
.hgtags -rw-r--r-- 2.4 KB
LICENSE -rw-r--r-- 12.4 KB
Makefile.pre.in -rw-r--r-- 25.9 KB
PLAN.txt -rw-r--r-- 14.1 KB
README -rw-r--r-- 42.5 KB
acconfig.h -rw-r--r-- 7.5 KB
configure -rwxr-xr-x 211.1 KB
configure.in -rw-r--r-- 55.9 KB
install-sh -rwxr-xr-x 5.5 KB
pyconfig.h.in -rw-r--r-- 19.7 KB
setup.py -rw-r--r-- 35.5 KB

README

back to top