[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] Re: [Xen-changelog] [xen-unstable] xenstored: Do not write to stderr if we are daemonised!



On Wed, Aug 01, 2007 at 07:03:23PM +0100, John Levon wrote:
> On Wed, Aug 01, 2007 at 09:53:17AM -0700, Xen patchbot-unstable wrote:
> 
> > +
> > +           /* Get ourselves a nice xenstored crash if these are used. */
> > +           stdin = NULL;
> > +           stdout = NULL;
> > +           stderr = NULL;
> 
> You cannot assign to std* on Solaris, this becomes:
> 
>  (&__iob[0]) = 0;
>  (&__iob[1]) = 0;
>  (&__iob[2]) = 0;
> 
> which obviously won't compile.

Yep, rather than closing FD's and setting the FILE* to NULL, the daeon
code should re-open /dev/null for stdin/out/err which is the traditional
approach for most UNIX daemons.

        if (dofork) {
                int devnull;
                devnull = open(_PATH_DEVNULL, O_RDWR);
                close(STDIN_FILENO);
                close(STDOUT_FILENO);
                close(STDERR_FILENO);
                dup2(devnull, STDIN_FILENO);
                dup2(devnull, STDOUT_FILENO);
                dup2(devnull, STDERR_FILENO);
                close(devnull);
        }

(With error checking on open/close/dup2 of ccourse)

Regards,
Dan.
-- 
|=- Red Hat, Engineering, Emerging Technologies, Boston.  +1 978 392 2496 -=|
|=-           Perl modules: http://search.cpan.org/~danberr/              -=|
|=-               Projects: http://freshmeat.net/~danielpb/               -=|
|=-  GnuPG: 7D3B9505   F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505  -=| 

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.