summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBeniamino Galvani <bgalvani@redhat.com>2020-02-11 09:17:26 +0100
committerBeniamino Galvani <bgalvani@redhat.com>2020-02-11 09:17:26 +0100
commita119dac99815f4736cb9b3b11a7732bc4c8b32b0 (patch)
tree0b994a1167867490e04ea5a1c81f7252f68d7d47
parent351644d7da2b8195c3576f8d1388d129462fc580 (diff)
parent554e9be5b04c4d590a8c210f6e75db931c893f7b (diff)
team: merge branch 'bg/team-race-rh1798947'
https://gitlab.freedesktop.org/NetworkManager/NetworkManager/merge_requests/410 https://bugzilla.redhat.com/show_bug.cgi?id=1798947
-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 fb9c9c696..a0749c21f 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;
}
}