Duh, I get it. If you add a member to the request object, and this
member is not referenced in the request object's dictionary, then you
have to add a special case for it in the tp_traverse handler. In
requestobject.c :
/**
** request_tp_traverse
**
*Traversal of the request object
*/
You should cast self to a requestobject* :
((requestobject*)self)-session
Anyway, I'm currently rewriting the whole request_tp_traverse /
request_tp_clear / request_tp_clear functions like this :
static void request_tp_dealloc(requestobject *self)
{
// de-register the object from the GC
Nicolas Lehuen wrote:
You should cast self to a requestobject* :
That worked. Running some tests.
Jim
((requestobject*)self)-session
Anyway, I'm currently rewriting the whole request_tp_traverse /
request_tp_clear / request_tp_clear functions like this :
static void
Hi Jim,
After a few checks (unittest + load testing), I've checked in my
modifications ; you might want to update and merge it with your code.
Regards,
Nicolas
2005/6/12, Jim Gallacher [EMAIL PROTECTED]:
Nicolas Lehuen wrote:
You should cast self to a requestobject* :
That worked. Running