Staging
v0.5.1
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
Tip revision: 39a8fddb1507593ebc8449ddcecd30ddaca69931 authored by Barry Warsaw on 28 May 2003, 23:03:30 UTC
The backport gets Fred's seal of approval:
The backport gets Fred's seal of approval:
Tip revision: 39a8fdd
File | Mode | Size |
---|---|---|
.cvsignore | -rw-r--r-- | 22 bytes |
acceler.c | -rw-r--r-- | 3.2 KB |
bitset.c | -rw-r--r-- | 949 bytes |
firstsets.c | -rw-r--r-- | 2.1 KB |
grammar.c | -rw-r--r-- | 4.6 KB |
grammar.mak | -rw-r--r-- | 1.1 KB |
grammar1.c | -rw-r--r-- | 1.0 KB |
intrcheck.c | -rw-r--r-- | 2.8 KB |
listnode.c | -rw-r--r-- | 983 bytes |
metagrammar.c | -rw-r--r-- | 2.1 KB |
myreadline.c | -rw-r--r-- | 4.1 KB |
node.c | -rw-r--r-- | 2.4 KB |
parser.c | -rw-r--r-- | 8.7 KB |
parser.h | -rw-r--r-- | 966 bytes |
parsetok.c | -rw-r--r-- | 4.1 KB |
pgen.c | -rw-r--r-- | 14.2 KB |
pgen.h | -rw-r--r-- | 253 bytes |
pgenmain.c | -rw-r--r-- | 3.6 KB |
printgrammar.c | -rw-r--r-- | 2.4 KB |
tokenizer.c | -rw-r--r-- | 17.9 KB |
tokenizer.h | -rw-r--r-- | 1.8 KB |
Computing file changes ...