Functions that steal references (Re: [pygame] [patch] minor memory leaks...)

Lenard Lindstrom wrote:
I assumed that since PyModule_AddObject is documented as stealing a reference, it always stole a reference. But in reality it only does so conditionally, when it succeeds.
As an aside, is this a general feature of functions that steal references, or is PyModule_AddObject an oddity? I ask because I've been thinking about adding features to Pyrex for dealing with stolen references, and it could be important to know things like this. Also, if it's an oddity, it would be a good idea to mention this behaviour in the docs. -- Greg

2009/6/16 Greg Ewing <greg.ewing@canterbury.ac.nz>:
Lenard Lindstrom wrote:
I assumed that since PyModule_AddObject is documented as stealing a reference, it always stole a reference. But in reality it only does so conditionally, when it succeeds.
As an aside, is this a general feature of functions that steal references, or is PyModule_AddObject an oddity?
IIRC, It's an oddity.
I ask because I've been thinking about adding features to Pyrex for dealing with stolen references, and it could be important to know things like this.
Also, if it's an oddity, it would be a good idea to mention this behaviour in the docs.
Yes, indeed. -- Regards, Benjamin

Benjamin Peterson schrieb:
2009/6/16 Greg Ewing <greg.ewing@canterbury.ac.nz>:
Lenard Lindstrom wrote:
I assumed that since PyModule_AddObject is documented as stealing a reference, it always stole a reference. But in reality it only does so conditionally, when it succeeds. As an aside, is this a general feature of functions that steal references, or is PyModule_AddObject an oddity?
IIRC, It's an oddity.
But it is a convenient oddity nonetheless. Christian
participants (3)
-
Benjamin Peterson
-
Christian Heimes
-
Greg Ewing