[sr-dev] accessing database from a child forked proces

Luis Azedo luis.azedo at factorlusitano.com
Wed Sep 3 12:09:50 CEST 2014


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 at gmail.com>
> To: "Kamailio (SER) - Development Mailing List"
>         <sr-dev at lists.sip-router.org>
> Subject: Re: [sr-dev] accessing database from a child forked process
> Message-ID:
>         <
> CALoGXNWvHhCAO91Tfa0w8W3eYQRvfV7Qkgte7dBnD+ciNr_Kpg at 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 at 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 at lists.sip-router.org
> > http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
> >
> >
> -------------- next part --------------
> An HTML attachment was scrubbed...
> URL: <
> http://lists.sip-router.org/pipermail/sr-dev/attachments/20140831/9fba51e4/attachment-0001.html
> >
>
> ------------------------------
>
> _______________________________________________
> sr-dev mailing list
> sr-dev at lists.sip-router.org
> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
>
>
> End of sr-dev Digest, Vol 70, Issue 71
> **************************************
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-dev/attachments/20140903/69f715a2/attachment.html>


More information about the sr-dev mailing list