[Python-Dev] Object creation hook

Steve Holden steve at holdenweb.com
Tue Jan 23 23:18:02 CET 2007


Kristján V. Jónsson wrote:
> Hello there.
> 
> I am trying to insert a hook into python enabling a callback for all 
> just-created objects.  The intention is to debug and find memory leaks, 
> e.g. by having the hook function insert the object into a WeakKeyDictionary.
> 
> I have already added a method to “object” to set such a hook, and 
> “object_new” now calls it upon completion, but this is far from covering 
> all places.  Initially, I thought object_init were the place, but almost 
> no classes call object.__init__ from their __init__ method.  Then there 
> is the separate case of old-style classes.
> 
>  
I suppose there's no requirement on C-defined types to actually call 
object_new, so you will need to audit them and make sure they do.

PyClass_New in classobject.c is another obvious place - the creation of 
old-style instances doesn't appear to involve object_new.

> 
> Any suggestions on how to do a global object creation hook in python?
> 
Nothing other than the above.

regards
  Steve
-- 
Steve Holden       +44 150 684 7255  +1 800 494 3119
Holden Web LLC/Ltd          http://www.holdenweb.com
Skype: holdenweb     http://del.icio.us/steve.holden
Blog of Note:          http://holdenweb.blogspot.com



More information about the Python-Dev mailing list