[JDEV] Parent PID changed, exiting...
Ayite Gaba
ayite at hotmail.com
Wed Feb 14 06:51:40 CST 2001
Please disregard my last message regarding the <stdout/> tag in the
jabber.xml. I modify base_stdout.c and everything is running fine :0
Thanks -- Ayite
>From: "Ayite Gaba" <ayite at hotmail.com>
>Reply-To: jdev at jabber.org
>To: jdev at jabber.org
>Subject: Re: [JDEV] Parent PID changed, exiting...
>Date: Wed, 14 Feb 2001 06:23:08
>
>Hi Keith,
>My jabber.xml does not have any <stdout/> tag in it. :(
>-- Ayite
>
>
>
>>From: Keith Minkler Reply-To: jdev at jabber.org To: jdev at jabber.org Subject:
>>Re: [JDEV] Parent PID changed, exiting... Date: Mon, 12 Feb 2001 23:04:39
>>-0500
>>
>>No, that function is correct... A jabberd using base_stdout should die
>>when
>>it's parent dies, since the parent will be another jabberd.
>>
>>Check your config file for the flag... you should not be using this flag
>>in
>>a standalone jabberd.
>>
>>Keith Minkler
>>
>>On Tue, Feb 13, 2001 at 02:07:25AM +0000, Ayite Gaba wrote: > Let's me see
>>if i get this right. > To fix the "Parent PID changed" problem i have to
>>modify the body of this > function: result base_stdout_heartbeat(void
>>*arg)
>> > > Is that it? I do not need to modify any other config files? if i
>>still
>>do > have to do more modifications, please let me known which ones. Thanks
>>a lot > for your help, -- Ayite > > > >From: Keith Minkler > >Reply-To:
>>jdev at jabber.org > >To: jdev at jabber.org > >Subject: Re: [JDEV] Parent PID
>>changed, exiting... > >Date: Mon, 12 Feb 2001 15:51:58 -0500 > > > >On
>>Mon,
>>Feb 12, 2001 at 01:13:21PM -0600, Thomas Muldowney wrote: > > > It's
>>possible that it's legacy code from 1.2, but I'm not sure. It was >
>> >missed
>> > > > by all of us as jabber.org runs in scripts to capture all the debug
>> > >output, we > > > apologize. > > > > > > --temas > > > >this one has to
>>do with linking two jabberd's together.. it was put in as a > >way > >for
>>the child process to know when it is supposed to exit (when the parent >
>> >process > >exits). > > > >you should ONLY be using a flag in a config
>>file that is to be > >'d > >inside of another PARENT jabberd. > > > >There
>>is another section where it checks it's PID, and that is in dnsrv.. a >
>> >similar > >instance is when dnsrv is used, the process forks itself, to
>>run a child > >dnsrv > >module. This child process also checks it's parent
>>PID to see if it > >changes to 1, > >then exits if it does. > > > >This
>>has
>>worked for some time, and is only meant to happen in those two > >very
>>distinct > >instances.. if you are running a single jabberd, and have a
>>flag > >inside > >of it, then that is WRONG, and you need to take that
>>flag
>>out.. > >that is > >only meant to be used while linking jabberd's together
>>with a config > >section such as: > >./jabberd/jabberd -c ./jabber2.xml >
>> >
>> > >Please check your config for errors, thank you! > > > >also, if there
>>is an easier/better way for a child process to check if its > >parent >
>> >has died, I'd love to change this code... I've looked in a lot of places
>> > >for code > >that accomplishes this, with no luck... this was the best
>>I
>>could do in > >short notice, > >and it fixed all of our "zombie" jabberd
>>problems. > > > >Keith Minkler > > > > > > > > On Mon, Feb 12, 2001 at
>>09:34:04AM -0800, james rogers wrote: > > > > In the
>>jabber-1.4RC/jabberd/base direcrtory in a file called > >base_stdout.c on
>>line 51 is the function that was added for jabberd version > >1.4 (i.e.
>>not
>>found in jabberd 1.2). This is the function that is needless > >and
>>causing
>>the server to exit when it's parent process is changed.o > > > > > > > >
>>Here it is: > > > > > > > > result base_stdout_heartbeat(void *arg) > > >
>> >
>>{ > > > > static int parent = 0; > > > > > > > > if(parent == 0) parent =
>>getppid(); > > > > > > > > if(parent != getppid()) > > > > { > > > > /*
>>parent pid has changed, bail */ > > > > log_alert("stdout","Parent PID has
>>changed, Server Exiting"); > > > > exit(1); > > > > } > > > > > > > >
>>return r_DONE; > > > > } > > > > > > > > I am guessing that if we change
>>it
>>to the following that we will keep > >running when we logout of the
>>shell... > > > > > > > > result base_stdout_heartbeat(void *arg) > > > > {
>> > > > > return r_DONE; > > > > } > > > > > > > > But before I do this in
>>my own installation... Why was this check > >added? What are we actually
>>checking for here and is there another way to > >do the same check? > > >
>> >
>> > > > > > > > > ___________________________________________________ > > >
>> > GO.com Mail > > > > Get Your Free, Private E-mail at http://mail.go.com
>> > > > > > > > > > > > > > > > >
>>_______________________________________________ > > > > jdev mailing list
>> >
>> > > > jdev at jabber.org > > > > http://mailman.jabber.org/listinfo/jdev > >
>> > > > ><< attach3 >> > >
>>_________________________________________________________________ > Get
>>your FREE download of MSN Explorer at http://explorer.msn.com > > >
>>_______________________________________________ > jdev mailing list >
>>jdev at jabber.org > http://mailman.jabber.org/listinfo/jdev << attach3 >>
>_________________________________________________________________
>Get your FREE download of MSN Explorer at http://explorer.msn.com
>
>
>_______________________________________________
>jdev mailing list
>jdev at jabber.org
>http://mailman.jabber.org/listinfo/jdev
_________________________________________________________________
Get your FREE download of MSN Explorer at http://explorer.msn.com
More information about the JDev
mailing list