Call PyObject_GC_UnTrack before putting an object on the list of trash.

This commit is contained in:
Neil Schemenauer 2002-03-29 03:07:29 +00:00
parent f589c059f4
commit 835840560b

View file

@ -35,8 +35,8 @@ tb_getattr(tracebackobject *tb, char *name)
static void static void
tb_dealloc(tracebackobject *tb) tb_dealloc(tracebackobject *tb)
{ {
PyObject_GC_UnTrack(tb);
Py_TRASHCAN_SAFE_BEGIN(tb) Py_TRASHCAN_SAFE_BEGIN(tb)
_PyObject_GC_UNTRACK(tb);
Py_XDECREF(tb->tb_next); Py_XDECREF(tb->tb_next);
Py_XDECREF(tb->tb_frame); Py_XDECREF(tb->tb_frame);
PyObject_GC_Del(tb); PyObject_GC_Del(tb);
@ -120,7 +120,7 @@ newtracebackobject(tracebackobject *next, PyFrameObject *frame, int lasti,
tb->tb_frame = frame; tb->tb_frame = frame;
tb->tb_lasti = lasti; tb->tb_lasti = lasti;
tb->tb_lineno = lineno; tb->tb_lineno = lineno;
_PyObject_GC_TRACK(tb); PyObject_GC_Track(tb);
} }
return tb; return tb;
} }