Commit 83584056 authored by Neil Schemenauer's avatar Neil Schemenauer

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

parent f589c059
...@@ -35,8 +35,8 @@ tb_getattr(tracebackobject *tb, char *name) ...@@ -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, ...@@ -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;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment