[JDEV] [patch mod_presence.c]

Rodolphe Duge de Bernonville rod at idealx.com
Tue Feb 20 04:41:42 CST 2001


Under heavy load and for an unknow reason (for the moment :)

_js_session_end may be call before a last call to mod_presence.

this will free the pres field in the session struct via
xmlnode_free(s->presence)
which will cause many problems in the mod_presence module in 
the mod_presence_out call. 

I think it is because of the xdb_get call to have the roster.
So, for the moment, (it works but not very nice), after each xdb call 
in this function, I recommend to do that :


/* push to roster subscriptions */
    roster = xdb_get(m->si->xc, m->user->id, NS_ROSTER);
/*  WARNING : possible to have s->presence modify by js_session_end  */
    if (m->s->exit_flag == 1){
	xmlnode_free(m->packet->x);
	xmlnode_free(roster);
	return M_HANDLED;
    }




More information about the JDev mailing list