summary refs log tree commit diff
path: root/src/devices/team/nm-device-team.c
diff options
context:
space:
mode:
authorMichael Biebl <biebl@debian.org>2020-02-19 23:31:24 +0100
committerMichael Biebl <biebl@debian.org>2020-02-19 23:31:24 +0100
commite536d40eaea5dcdc0743b0a5e8e17faa46608a50 (patch)
tree0749832d8655215dac973866b4e724f3aea35448 /src/devices/team/nm-device-team.c
parentf3c6d0765dff885e168b94f28e06ecc640315a74 (diff)
New upstream version 1.22.8 upstream/1.22.8
Diffstat (limited to 'src/devices/team/nm-device-team.c')
-rw-r--r--src/devices/team/nm-device-team.c19
1 files changed, 14 insertions, 5 deletions
diff --git a/src/devices/team/nm-device-team.c b/src/devices/team/nm-device-team.c
index fb9c9c69..a0749c21 100644
--- a/src/devices/team/nm-device-team.c
+++ b/src/devices/team/nm-device-team.c
@@ -356,6 +356,12 @@ teamd_dbus_appeared (GDBusConnection *connection,
 	_LOGI (LOGD_TEAM, "teamd appeared on D-Bus");
 	nm_device_queue_recheck_assume (device);
 
+	if (priv->kill_in_progress) {
+		/* If we are currently killing teamd, we are not
+		 * interested in knowing when it becomes ready. */
+		return;
+	}
+
 	/* If another teamd grabbed the bus name while our teamd was starting,
 	 * just ignore the death of our teamd and run with the existing one.
 	 */
@@ -380,11 +386,14 @@ teamd_dbus_appeared (GDBusConnection *connection,
 			if (pid != priv->teamd_pid)
 				teamd_cleanup (self, 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.
-			 */
+			/* The process that registered on the bus died. If it's
+			 * the teamd instance we just started, ignore the event
+			 * as we already detect the failure through the process
+			 * watch. If it's a previous instance that got killed,
+			 * also ignore that as our new instance will register
+			 * again. */
+			_LOGD (LOGD_TEAM, "failed to determine D-Bus name owner, ignoring");
+			return;
 		}
 	}