summary refs log tree commit diff
path: root/src/devices/team/nm-device-team.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/team/nm-device-team.c')
-rw-r--r--src/devices/team/nm-device-team.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/devices/team/nm-device-team.c b/src/devices/team/nm-device-team.c
index 60842c18..b4b522d8 100644
--- a/src/devices/team/nm-device-team.c
+++ b/src/devices/team/nm-device-team.c
@@ -318,10 +318,18 @@ teamd_dbus_appeared (GDBusConnection *connection,
 		                                   2000,
 		                                   NULL,
 		                                   NULL);
-		g_variant_get (ret, "(u)", &pid);
 
-		if (pid != priv->teamd_pid)
-			teamd_cleanup (device, FALSE);
+		if (ret) {
+			g_variant_get (ret, "(u)", &pid);
+			if (pid != priv->teamd_pid)
+				teamd_cleanup (device, FALSE);
+		} else {
+			_LOGW (LOGD_TEAM, "failed to determine D-Bus name owner");
+			/* If we can't determine the bus name owner, don't kill our
+			 * teamd instance. Hopefully another existing teamd just died and
+			 * our instance will be able to grab the bus name.
+			 */
+		}
 	}
 
 	/* Grab a teamd control handle even if we aren't going to use it