Hi Jason,
thanks for the reply.
the last 2 statements in presence module mod_init close the connection and
set pa_db to NULL. when my module main process forks the extra processes
the pa_db in presence is NULL, so when it calls pres_refresh_watchers it
fails because pa_db is NULL.
i commented these last statements in presence mod_init and i got it to work.
// pa_dbf.close(pa_db);
// pa_db = NULL;
does this have any implications on how the module works ? is it ok to merge
this change ?
Thank you
----------------------------------------------------------------------
Message: 1
Date: Sun, 31 Aug 2014 09:40:49 +0200
From: Jason Penton <jason.penton(a)gmail.com>
To: "Kamailio (SER) - Development Mailing List"
<sr-dev(a)lists.sip-router.org>
Subject: Re: [sr-dev] accessing database from a child forked process
Message-ID:
<
CALoGXNWvHhCAO91Tfa0w8W3eYQRvfV7Qkgte7dBnD+ciNr_Kpg(a)mail.gmail.com>
Content-Type: text/plain; charset="utf-8"
To confirm exactly what processes are being used, maybe check the log file
and take note of process id at each log event. For example you could check
the process id of the messages showing you the connection is null. Then run
kamcmd ps to show the process list with a description of each Kamailio
process. That will probably point you in the correct direction.
Cheers
Jason
On Fri, Aug 29, 2014 at 3:53 PM, Luis Azedo <luis.azedo(a)factorlusitano.com
wrote:
> Hi,
> i have a module that creates 1 extra
process where it processes stuff in
a
loop.
on some condition i fire a route_event with a fakemsg and its up to the
user of the module to take action, it tries to work like dispatcher
module
> or htable (mod-init) events.
> the problem that i have is that, if i
call some function on some module
> that performs a database action, the connection is null when it calls
> use_table.
> in this case i'm making this
call
> event_route[my_module:my_event]
> {
> $var(my_uri) = <<result of some operations>>;
> pres_refresh_watchers("$var(my_uri)", "dialog", 1);
> }
> presence module makes the call to use_table but this call fails because
> the connection is null. presence module is working fine besides this.
> if i make this call inside
event_route[dispatcher:dst-up] it works.
> i think that dispatcher fires the
event inside a callback from a
> registered timer, so, i think (may be wrong) that it comes from a
different
> process ?
> i wonder if i'm missing something
from child_init ? need to register
> something ?
> thanks for your help.
>
_______________________________________________
> sr-dev mailing list
> sr-dev(a)lists.sip-router.org
>
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev