Staging
v0.8.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
RPM
ACKS -rw-r--r-- 8.3 KB
AIX-NOTES -rw-r--r-- 7.3 KB
BeOS-NOTES -rw-r--r-- 1.4 KB
BeOS-setup.py -rw-r--r-- 24.6 KB
HISTORY -rw-r--r-- 305.2 KB
HPUX-NOTES -rw-r--r-- 1.0 KB
NEWS -rw-r--r-- 154.2 KB
PURIFY.README -rw-r--r-- 3.6 KB
Porting -rw-r--r-- 1.9 KB
README -rw-r--r-- 1.2 KB
RFD -rw-r--r-- 3.9 KB
cheatsheet -rw-r--r-- 99.9 KB
find_recursionlimit.py -rw-r--r-- 2.2 KB
gdbinit -rw-r--r-- 898 bytes
indent.pro -rw-r--r-- 66 bytes
python-mode.el -rw-r--r-- 120.7 KB
python.man -rw-r--r-- 11.4 KB
setuid-prog.c -rw-r--r-- 5.3 KB
vgrindefs -rw-r--r-- 505 bytes

README

back to top