[Libguestfs] [PATCH] daemon/Win32: Windows can't daemonize.
Jim Meyering
jim at meyering.net
Wed Nov 25 17:47:42 UTC 2009
Richard W.M. Jones wrote:
> Subject: [PATCH 6/7] daemon/Win32: Windows can't daemonize.
>
> ---
> daemon/guestfsd.c | 5 +++++
> 1 files changed, 5 insertions(+), 0 deletions(-)
>
> diff --git a/daemon/guestfsd.c b/daemon/guestfsd.c
> index 40b3c2f..d3b754d 100644
> --- a/daemon/guestfsd.c
> +++ b/daemon/guestfsd.c
> @@ -335,10 +335,15 @@ main (int argc, char *argv[])
>
> /* Fork into the background. */
> if (!dont_fork) {
> +#ifndef WIN32
> if (daemon (0, 1) == -1) {
> perror ("daemon");
> exit (EXIT_FAILURE);
> }
> +#else /* WIN32 */
> + fprintf (stderr, "On Windows the daemon does not support forking into the background.\nYou *must* run the daemon with the -f option.\n");
> + exit (EXIT_FAILURE);
> +#endif /* WIN32 */
How about defining a daemon function above,
#ifdef WIN32
static inline int
daemon (...)
{
fprintf (stderr, "On Windows the daemon does not support forking into "
"the background.\nYou *must* run the daemon with the -f option.\n");
exit (EXIT_FAILURE);
}
#endif /* WIN32 */
Then you don't need any of those ugly in-function #ifdefs.
Bonus: no lines longer than 80 columns ;-)
More information about the Libguestfs
mailing list