Beniamino Galvani 2020-02-11 09:17:26 +01:00
commit a119dac998

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