Use system call to issue warmReset command

We hit intermittent problems with the existing
g_spawn_command_line_async() call.  Lets just keep
it nice and simple with a system call.  This will
be refactored in story 783 this sprint.

Partially resolves openbmc/openbmc#519

Change-Id: I545578a24e44cd73461af47c6074a618c0d2bad4
Signed-off-by: Andrew Geissler <andrewg@us.ibm.com>
diff --git a/bmcctl/control_bmc_obj.c b/bmcctl/control_bmc_obj.c
index c0135c4..a7a3e73 100644
--- a/bmcctl/control_bmc_obj.c
+++ b/bmcctl/control_bmc_obj.c
@@ -22,19 +22,10 @@
                               GDBusMethodInvocation *invocation,
                               gpointer user_data)
 {
-    GError *err = NULL;
     /* Wait a while before reboot, so the caller can be responded.
-     * Note that g_spawn_command_line_async() cannot parse ';' as
-     * a command separator. Need to use 'sh -c' to let shell parse it.
      */
-    gchar *reboot_command = "/bin/sh -c 'sleep 3;reboot'";
-
-    g_spawn_command_line_async(reboot_command, &err);
-    if (err != NULL)
-    {
-        fprintf(stderr, "warmReset() error: %s\n", err->message);
-        g_error_free(err);
-    }
+    const char *reboot_command = "/bin/sh -c 'sleep 3;reboot'&";
+    system(reboot_command);
 
     control_bmc_complete_warm_reset(bmc, invocation);
     return TRUE;