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
.cvsignore -rw-r--r-- 87 bytes
BUILDno.txt -rw-r--r-- 2.8 KB
Uninstal.wse -rw-r--r-- 9.5 KB
_socket.dsp -rwxr-xr-x 4.0 KB
_sre.dsp -rwxr-xr-x 7.6 KB
_symtable.dsp -rw-r--r-- 4.0 KB
_testcapi.dsp -rw-r--r-- 4.0 KB
_tkinter.dsp -rw-r--r-- 8.6 KB
bsddb.dsp -rw-r--r-- 8.4 KB
field3.py -rw-r--r-- 966 bytes
installer.bmp -rw-r--r-- 49.1 KB
mmap.dsp -rw-r--r-- 3.9 KB
parser.dsp -rw-r--r-- 7.7 KB
pcbuild.dsw -rw-r--r-- 5.1 KB
pyexpat.dsp -rwxr-xr-x 7.9 KB
python.dsp -rw-r--r-- 6.8 KB
python.iss -rw-r--r-- 15.1 KB
python20.wse -rw-r--r-- 75.4 KB
pythoncore.dsp -rw-r--r-- 39.9 KB
pythonw.dsp -rw-r--r-- 7.3 KB
readme.txt -rw-r--r-- 4.8 KB
rmpyc.py -rw-r--r-- 646 bytes
rt.bat -rwxr-xr-x 1.4 KB
select.dsp -rwxr-xr-x 4.1 KB
unicodedata.dsp -rwxr-xr-x 4.1 KB
w9xpopen.dsp -rw-r--r-- 3.4 KB
winreg.dsp -rw-r--r-- 4.0 KB
winsound.dsp -rw-r--r-- 3.8 KB
zlib.dsp -rw-r--r-- 4.1 KB

readme.txt

back to top