diff options
author | Tim Peters <tim.peters@gmail.com> | 2001-06-20 06:57:32 (GMT) |
---|---|---|
committer | Tim Peters <tim.peters@gmail.com> | 2001-06-20 06:57:32 (GMT) |
commit | 6302ec63fc40dd6ae1ad3003003b6b264422e8e0 (patch) | |
tree | bfc0f9146102ef06530d03ed161a8d99f552c352 /Python/thread_lwp.h | |
parent | 43afb24c3084305f2e8269ffcb81dc1e233b871c (diff) | |
download | cpython-6302ec63fc40dd6ae1ad3003003b6b264422e8e0.zip cpython-6302ec63fc40dd6ae1ad3003003b6b264422e8e0.tar.gz cpython-6302ec63fc40dd6ae1ad3003003b6b264422e8e0.tar.bz2 |
gen_iternext(): repair subtle refcount problem.
NeilS, please check! This came from staring at your genbug.py, but I'm
not sure it plugs all possible holes. Without this, I caught a
frameobject refcount going negative, and it was also the cause (in debug
build) of _Py_ForgetReference's attempt to forget an object with already-
NULL _ob_prev and _ob_next pointers -- although I'm still not entirely
sure how! Part of the difficulty is that frameobjects are stored on a
free list that gets recycled very quickly, so if there's a stray pointer
to one of them it never looks like an insane frameobject (never goes
trough the free() mangling MS debug forces, etc).
Diffstat (limited to 'Python/thread_lwp.h')
0 files changed, 0 insertions, 0 deletions