[capi-sig] Problem with reference

Gustavo Carneiro gjcarneiro at gmail.com
Tue Mar 3 12:54:28 CET 2009


2009/3/3 pycnweb <pycnweb at 126.com>

> 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?


You are right.

-- 
Gustavo J. A. M. Carneiro
INESC Porto, Telecommunications and Multimedia Unit
"The universe is always one step beyond logic." -- Frank Herbert


More information about the capi-sig mailing list