I should have waited with my reply ;) I am currently merging things and it
seems to go rather smooth. So I also merged your patch:

http://git.adiscon.com/?p=rsyslog.git;a=commitdiff;h=167192666ba8905b83210ab7
c5f00cc6be9f7147

It goes into v5-devel. 
Thanks!
Rainer

> -----Original Message-----
> From: [email protected] [mailto:rsyslog-
> [email protected]] On Behalf Of Rainer Gerhards
> Sent: Monday, January 16, 2012 4:42 PM
> To: Peng Haitao
> Cc: rsyslog-users
> Subject: Re: [rsyslog] [PATCH] fix error of not define HAVE_SETSID
> 
> 
> 
> > -----Original Message-----
> > From: Peng Haitao [mailto:[email protected]]
> > Sent: Monday, January 16, 2012 6:33 AM
> > To: Rainer Gerhards
> > Cc: rsyslog-users
> > Subject: Re: [rsyslog] [PATCH] fix error of not define HAVE_SETSID
> >
> >
> > Peng Haitao said the following on 2012-1-6 14:48:
> > > [add list to the CC list]
> > >
> > > When HAVE_SETSID is not defined, rsyslogd will use ioctl() make
> > > itself to daemon, but this can not make rsyslogd process become the
> > > process group leader of a new process group. In RHEL6.1, the status
> > > is as
> follows:
> > > # uname -a
> > > Linux RHEL6U1GA-Intel64-199 2.6.32-131.0.15.el6.x86_64 #1 SMP Tue
> > > May
> > > 10 15:42:40 EDT 2011 x86_64 x86_64 x86_64 GNU/Linux #
> > > /etc/init.d/rsyslog
> > restart
> > > Shutting down system logger:                               [  OK  ]
> > > Starting system logger:                                    [  OK  ]
> > > # ps axo pgrp,ppid,pid,comm | grep rsyslog
> > >  6290     1  6301 rsyslogd
> > >
> > > When we send SIGTERM signal to 6290, rsyslogd will die:( So I think
> > > we should call setpgid() before ioctl().
> > >
> >
> > hi, anyone can comment the patch?
> 
> Sorry, I am still busy, it's on my todo list and looks good on first
impression.
> Bear with me a little bit more, I hope to be able to go back to real work
> soon... ;)
> 
> Rainer
> >
> > --
> > Best Regards,
> > Peng
> >
> > > Signed-off-by: Peng Haitao <[email protected]>
> > > ---
> > >  tools/syslogd.c |    7 +++++++
> > >  1 files changed, 7 insertions(+), 0 deletions(-)
> > >
> > > diff --git a/tools/syslogd.c b/tools/syslogd.c index
> > > d1224f2..ac954b7
> > > 100644
> > > --- a/tools/syslogd.c
> > > +++ b/tools/syslogd.c
> > > @@ -356,8 +356,15 @@ void untty(void)  #else  {
> > >   int i;
> > > + pid_t pid;
> > >
> > >   if(!Debug) {
> > > +         pid = getpid();
> > > +         if (setpgid(pid, pid) < 0) {
> > > +                 perror("setpgid");
> > > +                 exit(1);
> > > +         }
> > > +
> > >           i = open(_PATH_TTY, O_RDWR|O_CLOEXEC);
> > >           if (i >= 0) {
> > >  #                        if !defined(__hpux)
> >
> 
> _______________________________________________
> rsyslog mailing list
> http://lists.adiscon.net/mailman/listinfo/rsyslog
> http://www.rsyslog.com/professional-services/
_______________________________________________
rsyslog mailing list
http://lists.adiscon.net/mailman/listinfo/rsyslog
http://www.rsyslog.com/professional-services/

Reply via email to