if ! grep -sq guestfs_rescue=1 /proc/cmdline; then
# The host will kill qemu abruptly if guestfsd shuts down normally
- guestfsd -f
+ guestfsd
# Otherwise we try to clean up gracefully. For example, this ensures that a
# core dump generated by the guest daemon will be written to disk.
/* libguestfs - the guestfsd daemon
- * Copyright (C) 2009-2010 Red Hat Inc.
+ * Copyright (C) 2009-2011 Red Hat Inc.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
#include <config.h>
-#define _BSD_SOURCE /* for daemon(3) */
-
#ifdef HAVE_WINDOWS_H
# include <windows.h>
#endif
#ifdef WIN32
static int
-daemon (int nochdir, int noclose)
-{
- 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 */
-
-#ifdef WIN32
-static int
winsock_init (void)
{
int r;
usage (void)
{
fprintf (stderr,
- "guestfsd [-f|--foreground] [-v|--verbose] [-r]\n");
+ "guestfsd [-r] [-v|--verbose]\n");
}
int
main (int argc, char *argv[])
{
- static const char *options = "frv?";
+ static const char *options = "rv?";
static const struct option long_options[] = {
- { "foreground", 0, 0, 'f' },
{ "help", 0, 0, '?' },
{ "verbose", 0, 0, 'v' },
{ 0, 0, 0, 0 }
};
int c;
- int dont_fork = 0;
char *cmdline;
chdir ("/");
if (c == -1) break;
switch (c) {
- case 'f':
- dont_fork = 1;
- break;
-
/* The -r flag is used when running standalone. It changes
* several aspects of the daemon.
*/
xdr_destroy (&xdr);
- /* Fork into the background. */
- if (!dont_fork) {
- if (daemon (0, 1) == -1) {
- perror ("daemon");
- exit (EXIT_FAILURE);
- }
- }
-
/* Enter the main loop, reading and performing actions. */
main_loop (sock);