Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 77ead87

Browse files
committed
Add missing PyObject_GC_Track and PyObject_GC_UnTrack calls to csv reader and
writer objects (other GC infrastructure already in place).
1 parent 36a7691 commit 77ead87

1 file changed

Lines changed: 4 additions & 0 deletions

File tree

Modules/_csv.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -776,6 +776,7 @@ Reader_iternext(ReaderObj *self)
776776
static void
777777
Reader_dealloc(ReaderObj *self)
778778
{
779+
PyObject_GC_UnTrack(self);
779780
Py_XDECREF(self->dialect);
780781
Py_XDECREF(self->input_iter);
781782
Py_XDECREF(self->fields);
@@ -909,6 +910,7 @@ csv_reader(PyObject *module, PyObject *args, PyObject *keyword_args)
909910
return NULL;
910911
}
911912

913+
PyObject_GC_Track(self);
912914
return (PyObject *)self;
913915
}
914916

@@ -1234,6 +1236,7 @@ static struct PyMemberDef Writer_memberlist[] = {
12341236
static void
12351237
Writer_dealloc(WriterObj *self)
12361238
{
1239+
PyObject_GC_UnTrack(self);
12371240
Py_XDECREF(self->dialect);
12381241
Py_XDECREF(self->writeline);
12391242
if (self->rec != NULL)
@@ -1349,6 +1352,7 @@ csv_writer(PyObject *module, PyObject *args, PyObject *keyword_args)
13491352
Py_DECREF(self);
13501353
return NULL;
13511354
}
1355+
PyObject_GC_Track(self);
13521356
return (PyObject *)self;
13531357
}
13541358

0 commit comments

Comments
 (0)