Staging
v0.8.1
v0.8.1
https://github.com/python/cpython
Revision ded18d634f2e1615b746dca2698d6a98ff63045d authored by Guido van Rossum on 28 March 2002, 20:21:21 UTC, committed by Guido van Rossum on 28 March 2002, 20:21:21 UTC
this is what Zope 2 will be using in the foreseeable future). Fix an issue that was reported in but unrelated to the main problem of SF bug 535905 (Evil Trashcan and GC interaction). The SETLOCAL() macro should not DECREF the local variable in-place and then store the new value; it should copy the old value to a temporary value, then store the new value, and then DECREF the temporary value. This is because it is possible that during the DECREF the frame is accessed by other code (e.g. a __del__ method or gc.collect()) and the variable would be pointing to already-freed memory. BUGFIX CANDIDATE!
1 parent 00be96e
Tip revision: ded18d634f2e1615b746dca2698d6a98ff63045d authored by Guido van Rossum on 28 March 2002, 20:21:21 UTC
Backport for 2.1.3 (if we ever release it; we may have to because
Backport for 2.1.3 (if we ever release it; we may have to because
Tip revision: ded18d6
File | Mode | Size |
---|---|---|
Python.h | -rw-r--r-- | 2.7 KB |
abstract.h | -rw-r--r-- | 31.4 KB |
bitset.h | -rw-r--r-- | 792 bytes |
bufferobject.h | -rw-r--r-- | 929 bytes |
cStringIO.h | -rw-r--r-- | 3.9 KB |
cellobject.h | -rw-r--r-- | 636 bytes |
ceval.h | -rw-r--r-- | 3.4 KB |
classobject.h | -rw-r--r-- | 2.2 KB |
cobject.h | -rw-r--r-- | 1.7 KB |
codecs.h | -rw-r--r-- | 3.3 KB |
compile.h | -rw-r--r-- | 2.4 KB |
complexobject.h | -rw-r--r-- | 1.4 KB |
dictobject.h | -rw-r--r-- | 1.2 KB |
errcode.h | -rw-r--r-- | 1.1 KB |
eval.h | -rw-r--r-- | 251 bytes |
fileobject.h | -rw-r--r-- | 954 bytes |
floatobject.h | -rw-r--r-- | 720 bytes |
frameobject.h | -rw-r--r-- | 2.8 KB |
funcobject.h | -rw-r--r-- | 1.4 KB |
graminit.h | -rw-r--r-- | 1.4 KB |
grammar.h | -rw-r--r-- | 2.0 KB |
import.h | -rw-r--r-- | 1.5 KB |
intobject.h | -rw-r--r-- | 2.2 KB |
intrcheck.h | -rw-r--r-- | 285 bytes |
listobject.h | -rw-r--r-- | 1.8 KB |
longintrepr.h | -rw-r--r-- | 1.7 KB |
longobject.h | -rw-r--r-- | 1.5 KB |
marshal.h | -rw-r--r-- | 710 bytes |
metagrammar.h | -rw-r--r-- | 253 bytes |
methodobject.h | -rw-r--r-- | 1.8 KB |
modsupport.h | -rw-r--r-- | 3.2 KB |
moduleobject.h | -rw-r--r-- | 570 bytes |
node.h | -rw-r--r-- | 1006 bytes |
object.h | -rw-r--r-- | 20.5 KB |
objimpl.h | -rw-r--r-- | 10.7 KB |
opcode.h | -rw-r--r-- | 4.1 KB |
osdefs.h | -rw-r--r-- | 903 bytes |
parsetok.h | -rw-r--r-- | 613 bytes |
patchlevel.h | -rw-r--r-- | 1.2 KB |
pgenheaders.h | -rw-r--r-- | 1.3 KB |
py_curses.h | -rw-r--r-- | 3.5 KB |
pydebug.h | -rw-r--r-- | 541 bytes |
pyerrors.h | -rw-r--r-- | 4.2 KB |
pyfpe.h | -rw-r--r-- | 8.3 KB |
pygetopt.h | -rw-r--r-- | 323 bytes |
pymem.h | -rw-r--r-- | 5.1 KB |
pyport.h | -rw-r--r-- | 11.9 KB |
pystate.h | -rw-r--r-- | 1.9 KB |
pythonrun.h | -rw-r--r-- | 4.4 KB |
pythread.h | -rw-r--r-- | 1.4 KB |
rangeobject.h | -rw-r--r-- | 613 bytes |
sliceobject.h | -rw-r--r-- | 971 bytes |
stringobject.h | -rw-r--r-- | 4.4 KB |
structmember.h | -rw-r--r-- | 1.8 KB |
symtable.h | -rw-r--r-- | 3.5 KB |
sysmodule.h | -rw-r--r-- | 734 bytes |
token.h | -rw-r--r-- | 1.6 KB |
traceback.h | -rw-r--r-- | 571 bytes |
tupleobject.h | -rw-r--r-- | 1.5 KB |
ucnhash.h | -rw-r--r-- | 682 bytes |
unicodeobject.h | -rw-r--r-- | 29.0 KB |
Computing file changes ...