[capi-sig] Problem with reference

pycnweb pycnweb at 126.com
Tue Mar 3 03:27:52 CET 2009

Hi All,

I am now writing a python extension, but I confuse with the reference.

PyTuple_SetItem and PyList_SetItem will steal a reference from item. So

PyTuple_SetItem(pTuple, 2, Py_BuildValue("s", "Python"))
PyList_SetItem(pList, i, Py_BuildValue("i", i))

will not cause a memory leak. But

PyList_Insert(pList, 2, Py_BuildValue("s", "inserted"))
PyList_Append(pList, Py_BuildValue("s", "appended"))
PyDict_SetItemString(pDict, "second", Py_BuildValue("f", 3.14f))

will cause a memory leak.

Am I right?


More information about the capi-sig mailing list