[Serusers] RE: SER and child_init()

Bogdan-Andrei IANCU iancu at fokus.fraunhofer.de
Thu Nov 4 09:21:59 CET 2004


init_child functions takes as parameter the rank of the process - that's 
exactly you are looking for.

bogdan


Gandhi, Jignesh wrote:
> Thanks for the quick reply.
> 
> I looked at the sr_module.h and saw the defs that you are talking about.
> Now I am starting SER with fork=yes and children=2. 
> so I get the following output from serctl ps cmd.
> [root at test gl]# serctl ps
> 0       10771   attendant
> 1       10773   receiver child=0 sock=0 @ 192.168.160.12:5060
> 2       10774   receiver child=1 sock=0 @ 192.168.160.12:5060
> 3       10775   fifo server
> 4       10776   timer
> 5       10777   tcp receiver
> 6       10778   tcp receiver
> 7       10779   tcp main process
> 
> The only rank values that I can count on not to startup a socket connection
> in the child_init function are -1, -2, -4. 
> The question I have is, how can I know in my child_init function that the
> process that the child_init() function is called from is 
> "receiver child=n" ? 
> for example I know that if I have set children=2 in ser.cfg than the first 2
> times the child_init function will be called from the receiver child=0 and
> receiver child=1 thread. Also How come the tcp receiver is getting started
> for each child ?
> 
> 
> I hope that I am making sense here.
> 
> thanks,
> Jignesh Gandhi
> 
> -----Original Message
> From: Jan Janak
> To: Gandhi, Jignesh
> Cc: 'serusers at lists.iptel.org'
> Sent: 11/3/2004 11:08 AM
> Subject: Re: [Serusers] RE: SER in debug mode
> 
> no fork mode means that there will be only one process listening for and
> processing SIP messages. In addition to that there will be also the
> timer process (taking care of timers) and fifo process (processing
> commands sent to ser over the FIFO interface). The child init function
> will be called for all of them. See:
> 
> root at localhost:/home/janakj# serctl ps
> 0       6266    stand-alone receiver @ 127.0.0.1:5060
> 1       6267    timer
> 2       6268    fifo server
> 
> If you want to execute the code in the listening process only, then you
> can ignore calls of child_init that have the parameter set to PROC_TIMER
> and PROC_FIFO (defined in sr_module.h).
> 
> Note that it is usually a good idea to have the same environment in the
> timer process as in the receiver as some functionality might be called
> from the timer.
> 
>   Jan.
> 
> On 03-11 10:14, Gandhi, Jignesh wrote:
> 
>>Hello all,
>>
>>I am trying to debug a new module that I have written.
>>So I have set fork=no and debug=4 and commented out the
>>child line. 
>>
>>The question I have is that the how may times the child_init() 
>>function be called ?
>>
>>
>>The child_init() function in my module sets up a socket connection
>>to a server and I can see that the child_init() function is getting
>>called 3 times. I do not understand this. Am I missing something ?
>>
>>The mod_init function is getting called only once, like it is supposed
> 
> to.
> 
>>I have attached the output from ser startup. The module that I have
> 
> written 
> 
>>is called gl.
>>
>>Nov  2 14:07:20 sara ser: INFO: glenayre redirector(gl module)
> 
> initializing
> 
>>Nov  2 14:07:20 sara ser: INFO: udp_init: SO_RCVBUF is initially 65535
>>Nov  2 14:07:20 sara ser: INFO: udp_init: SO_RCVBUF is finally 262142
>>Nov  2 14:07:20 sara ser: gl:INFO: gl_child_init(): init_child #-1 /
> 
> pid
> 
>><10269>
>>Nov  2 14:07:20 sara ser: gl:INFO: gl_child_init(): Initializing TCP
>>connection
>>Nov  2 14:07:20 sara ser: gl:INFO: gl_child_init(): TCP port = 1234
>>Nov  2 14:07:20 sara ser: gl:INFO: gl_child_init(): TCP host =
> 
> localhost
> 
>>Nov  2 14:07:20 sara ser: INFO: fifo process starting: 10270
>>Nov  2 14:07:20 sara ser: gl:INFO: gl_child_init(): init_child #-2 /
> 
> pid
> 
>><10270>
>>Nov  2 14:07:20 sara ser: gl:INFO: gl_child_init(): Initializing TCP
>>connection
>>Nov  2 14:07:20 sara ser: gl:INFO: gl_child_init(): TCP port = 1234
>>Nov  2 14:07:20 sara ser: gl:INFO: gl_child_init(): TCP host =
> 
> localhost
> 
>>Nov  2 14:07:20 sara ser: SER: open_uac_fifo: fifo server up at
>>/tmp/ser_fifo...
>>Nov  2 14:07:20 sara ser: gl:INFO: gl_child_init(): init_child #1 /
> 
> pid
> 
>><10268>
>>Nov  2 14:07:20 sara ser: gl:INFO: gl_child_init(): Initializing TCP
>>connection
>>Nov  2 14:07:20 sara ser: gl:INFO: gl_child_init(): TCP port = 1234
>>Nov  2 14:07:20 sara ser: gl:INFO: gl_child_init(): TCP host =
> 
> localhost
> 
>>any help is appreciated,
>>
>>thanks,
>>Jignesh Gandhi
>>Software Engineer II
>>Jignesh.Gandhi at glenayre.com
>>
>>
>>
>>_______________________________________________
>>Serusers mailing list
>>serusers at lists.iptel.org
>>http://lists.iptel.org/mailman/listinfo/serusers
> 
> 
> _______________________________________________
> Serusers mailing list
> serusers at lists.iptel.org
> http://lists.iptel.org/mailman/listinfo/serusers




More information about the sr-users mailing list