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 ;-)