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 |
---|---|---|
.cvsignore | -rw-r--r-- | 17 bytes |
atof.c | -rw-r--r-- | 813 bytes |
bltinmodule.c | -rw-r--r-- | 52.1 KB |
ceval.c | -rw-r--r-- | 80.3 KB |
codecs.c | -rw-r--r-- | 10.0 KB |
compile.c | -rw-r--r-- | 121.4 KB |
dup2.c | -rw-r--r-- | 685 bytes |
dynload_aix.c | -rw-r--r-- | 5.3 KB |
dynload_beos.c | -rw-r--r-- | 6.1 KB |
dynload_dl.c | -rw-r--r-- | 537 bytes |
dynload_hpux.c | -rw-r--r-- | 1.3 KB |
dynload_mac.c | -rw-r--r-- | 3.2 KB |
dynload_next.c | -rw-r--r-- | 4.5 KB |
dynload_os2.c | -rw-r--r-- | 958 bytes |
dynload_shlib.c | -rw-r--r-- | 2.1 KB |
dynload_stub.c | -rw-r--r-- | 202 bytes |
dynload_win.c | -rw-r--r-- | 7.4 KB |
errors.c | -rw-r--r-- | 15.9 KB |
exceptions.c | -rw-r--r-- | 28.9 KB |
fmod.c | -rw-r--r-- | 433 bytes |
frozen.c | -rw-r--r-- | 965 bytes |
frozenmain.c | -rw-r--r-- | 1.4 KB |
future.c | -rw-r--r-- | 5.2 KB |
getargs.c | -rw-r--r-- | 29.3 KB |
getcompiler.c | -rw-r--r-- | 366 bytes |
getcopyright.c | -rw-r--r-- | 503 bytes |
getcwd.c | -rw-r--r-- | 1.3 KB |
getmtime.c | -rw-r--r-- | 316 bytes |
getopt.c | -rw-r--r-- | 2.3 KB |
getplatform.c | -rw-r--r-- | 130 bytes |
getversion.c | -rw-r--r-- | 260 bytes |
graminit.c | -rw-r--r-- | 28.3 KB |
hypot.c | -rw-r--r-- | 280 bytes |
import.c | -rw-r--r-- | 57.6 KB |
importdl.c | -rw-r--r-- | 2.0 KB |
importdl.h | -rw-r--r-- | 931 bytes |
marshal.c | -rw-r--r-- | 17.1 KB |
memmove.c | -rw-r--r-- | 439 bytes |
modsupport.c | -rw-r--r-- | 9.6 KB |
mystrtoul.c | -rw-r--r-- | 3.1 KB |
pyfpe.c | -rw-r--r-- | 621 bytes |
pystate.c | -rw-r--r-- | 5.2 KB |
pythonrun.c | -rw-r--r-- | 32.1 KB |
sigcheck.c | -rw-r--r-- | 529 bytes |
strdup.c | -rw-r--r-- | 256 bytes |
strerror.c | -rw-r--r-- | 446 bytes |
strtod.c | -rw-r--r-- | 5.1 KB |
structmember.c | -rw-r--r-- | 5.0 KB |
symtable.c | -rw-r--r-- | 3.4 KB |
sysmodule.c | -rw-r--r-- | 24.3 KB |
thread.c | -rw-r--r-- | 2.3 KB |
thread_beos.h | -rw-r--r-- | 7.5 KB |
thread_cthread.h | -rw-r--r-- | 3.6 KB |
thread_foobar.h | -rw-r--r-- | 2.5 KB |
thread_lwp.h | -rw-r--r-- | 3.8 KB |
thread_nt.h | -rw-r--r-- | 8.9 KB |
thread_os2.h | -rw-r--r-- | 4.1 KB |
thread_pth.h | -rw-r--r-- | 7.1 KB |
thread_pthread.h | -rw-r--r-- | 10.9 KB |
thread_sgi.h | -rw-r--r-- | 11.8 KB |
thread_solaris.h | -rw-r--r-- | 4.4 KB |
thread_wince.h | -rw-r--r-- | 4.0 KB |
traceback.c | -rw-r--r-- | 5.6 KB |
Computing file changes ...