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
(cherry picked from commit a119dac998)
This commit is contained in:
Beniamino Galvani 2020-02-11 09:21:46 +01:00
commit 0bd30d8da0

View file

@ -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;
}
}