Update of /cvsroot/python/python/dist/src/Objects In directory usw-pr-cvs1:/tmp/cvs-serv18101/Objects Modified Files: Tag: release22-maint object.c Log Message: SF bug 578752: COUNT_ALLOCS vs heap types Repair segfaults and infinite loops in COUNT_ALLOCS builds in the presence of new-style (heap-allocated) classes/types. Note: test_gc fails in a COUNT_ALLOCS build now, because it expects a new-style class to get garbage collected. Index: object.c =================================================================== RCS file: /cvsroot/python/python/dist/src/Objects/object.c,v retrieving revision 2.162.6.4 retrieving revision 2.162.6.5 diff -C2 -d -r2.162.6.4 -r2.162.6.5 *** object.c 13 Jun 2002 21:39:47 -0000 2.162.6.4 --- object.c 8 Jul 2002 22:30:52 -0000 2.162.6.5 *************** *** 80,83 **** --- 80,92 ---- Py_FatalError("XXX inc_count sanity check"); tp->tp_next = type_list; + /* Note that as of Python 2.2, heap-allocated type objects + * can go away, but this code requires that they stay alive + * until program exit. That's why we're careful with + * refcounts here. type_list gets a new reference to tp, + * while ownership of the reference type_list used to hold + * (if any) was transferred to tp->tp_next in the line above. + * tp is thus effectively immortal after this. + */ + Py_INCREF(tp); type_list = tp; }
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4