Message21854
Logged In: YES
user_id=580910
It's infinite recursion...
- CF.CFMutableArrayRef has is a subtype of CF.CFArrayRef
- Both tp_del's call 'self->ob_type->tp_base->tp_dealloc' to deallocate
the instance.
- When the instance is an CFMutableArrayRef self->ob_type->tp_base
is CFArrayRef, which means we get:
1. Object refcount is 0, call tp_dealloc
2. Enter CFMutableArrayRefObj_dealloc
3. Call self->ob_type->tp_dealloc
4. Enter CFArrayRefObj_dealloc
5. Call self->ob_type->tp_dealloc
6. Enter CFArrayRefObj_dealloc
7. ...
I guess the right change is in Tools/bgen/bgen/bgenObjectDefinition.py:
outputDealloc.
Near line 138 this prints the problematic 'self->ob_type->tp_base-
>tp_dealloc'. I'd change this to:
Output("%s.tp_dealloc((PyObject*)self);"%(self.basetype,))
|
|
Date |
User |
Action |
Args |
2007-08-23 14:24:39 | admin | link | issue1000914 messages |
2007-08-23 14:24:39 | admin | create | |
|