[libvirt] [PATCH 1/2] for dhclient use g_spawn_sync instead of g_spawn_async

Gene Czarcinski gczarcinski at ec.rr.com
Tue Sep 9 18:50:42 UTC 2014


For some (unknown) reason, g_spawn_async() is not starting dhclient
so that a dhcp NIC can be configured.  However, simply using
g_spawn_sync() works.  This was the only use of g_spawn_async().

Note: There is no problem using sync instead of async since dhclient will
disconnect and put itself in the background once the network is started.
---
 libvirt-sandbox/libvirt-sandbox-init-common.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/libvirt-sandbox/libvirt-sandbox-init-common.c b/libvirt-sandbox/libvirt-sandbox-init-common.c
index e5f8af0..49baa5c 100644
--- a/libvirt-sandbox/libvirt-sandbox-init-common.c
+++ b/libvirt-sandbox/libvirt-sandbox-init-common.c
@@ -113,10 +113,8 @@ static gboolean start_dhcp(const gchar *devname, GError **error)
 {
     const gchar *argv[] = { "/sbin/dhclient", "--no-pid", devname, NULL };
 
-    if (!g_spawn_async(NULL, (gchar**)argv, NULL,
-                       G_SPAWN_STDOUT_TO_DEV_NULL |
-                       G_SPAWN_STDERR_TO_DEV_NULL,
-                       NULL, NULL, NULL, error))
+    if (!g_spawn_sync(NULL, (gchar**)argv, NULL, 0,
+                      NULL, NULL, NULL, NULL, NULL, error))
         return FALSE;
 
     return TRUE;
-- 
1.9.3




More information about the libvir-list mailing list