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
|