Allow dbus-daemon --nofork on Windows
authorSimon McVittie <simon.mcvittie@collabora.co.uk>
Thu, 29 Aug 2013 10:49:00 +0000 (11:49 +0100)
committerSimon McVittie <simon.mcvittie@collabora.co.uk>
Tue, 3 Sep 2013 11:00:09 +0000 (12:00 +0100)
On Windows, the dbus-daemon is not able to fork (daemonize). If someone
explicitly requests forking, it should fail, but if someone
explicitly requests *not* forking, there seems no harm in allowing it.

A few of the regression tests specifically require a dbus-daemon that
will not fork, so allowing this option on Windows means those tests
don't need an extra OS condition.

Bug: https://bugs.freedesktop.org/show_bug.cgi?id=68852
Reviewed-by: Ralf Habacker <ralf.habacker@freenet.de>
bus/main.c
doc/dbus-daemon.1.xml.in

index 53a77e2..472458e 100644 (file)
@@ -138,9 +138,9 @@ usage (void)
       " [--introspect]"
       " [--address=ADDRESS]"
       " [--nopidfile]"
+      " [--nofork]"
 #ifdef DBUS_UNIX
       " [--fork]"
-      " [--nofork]"
       " [--systemd-activation]"
 #endif
       "\n");
@@ -412,12 +412,12 @@ main (int argc, char **argv)
         {
           introspect ();
         }
-#ifdef DBUS_UNIX
       else if (strcmp (arg, "--nofork") == 0)
         {
           flags &= ~BUS_CONTEXT_FLAG_FORK_ALWAYS;
           flags |= BUS_CONTEXT_FLAG_FORK_NEVER;
         }
+#ifdef DBUS_UNIX
       else if (strcmp (arg, "--fork") == 0)
         {
           flags &= ~BUS_CONTEXT_FLAG_FORK_NEVER;
index aea2514..023beba 100644 (file)
@@ -89,10 +89,16 @@ with SIGHUP.</para>
 <para>Force the message bus to fork and become a daemon, even if
 the configuration file does not specify that it should.
 In most contexts the configuration file already gets this
-right, though.
-<option>--nofork</option>
-Force the message bus not to fork and become a daemon, even if
-the configuration file specifies that it should.</para>
+right, though. This option is not supported on Windows.</para>
+  </listitem>
+  </varlistentry>
+  <varlistentry>
+  <term><option>--nofork</option></term>
+  <listitem>
+    <para>Force the message bus not to fork and become a daemon, even if
+      the configuration file specifies that it should. On Windows,
+      the dbus-daemon never forks, so this option is allowed but does
+      nothing.</para>
   </listitem>
   </varlistentry>
   <varlistentry>