diff options
author | Florent Xicluna <florent.xicluna@gmail.com> | 2011-12-12 17:54:29 (GMT) |
---|---|---|
committer | Florent Xicluna <florent.xicluna@gmail.com> | 2011-12-12 17:54:29 (GMT) |
commit | aa6c1d240fc4dd883b4c5a1564182e8fa90de496 (patch) | |
tree | 417976ca1ed9205f4dd9fc19768dfd93afff632a /Modules/gc_weakref.txt | |
parent | 9d57481f043cb9b94bfc45c1ee041415d915cf8a (diff) | |
download | cpython-aa6c1d240fc4dd883b4c5a1564182e8fa90de496.zip cpython-aa6c1d240fc4dd883b4c5a1564182e8fa90de496.tar.gz cpython-aa6c1d240fc4dd883b4c5a1564182e8fa90de496.tar.bz2 |
Issue #13575: there is only one class type.
Diffstat (limited to 'Modules/gc_weakref.txt')
-rw-r--r-- | Modules/gc_weakref.txt | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/Modules/gc_weakref.txt b/Modules/gc_weakref.txt index d7be6c3..2f18402 100644 --- a/Modules/gc_weakref.txt +++ b/Modules/gc_weakref.txt @@ -15,8 +15,8 @@ have been called before resurrection). At best (and this has been an historically common bug), tp_clear empties an instance's __dict__, and "impossible" AttributeErrors result. At worst, tp_clear leaves behind an insane object at the C level, and segfaults result (historically, most -often by setting a new-style class's mro pointer to NULL, after which -attribute lookups performed by the class can segfault). +often by setting a class's mro pointer to NULL, after which attribute +lookups performed by the class can segfault). OTOH, it's OK to run Python-level code that can't access unreachable objects, and sometimes that's necessary. The chief example is the callback @@ -119,7 +119,7 @@ isn't easy to stumble into by accident while Python is running, and, indeed, it took quite a while to dream up failing test cases. Zope3 saw segfaults during shutdown, during the second call of gc in Py_Finalize, after most modules had been torn down. That creates many trash cycles (esp. those -involving new-style classes), making the problem much more likely. Once you +involving classes), making the problem much more likely. Once you know what's required to provoke the problem, though, it's easy to create tests that segfault before shutdown. |