From: Didier Raboud <o...@debian.org> This makes NetworkManager use runtime detection to manage the ModemManager lifecycle when not run by systemd. Under systemd, we expect the ModemManager service to be started by systemd, under non-systemd, we use the dbus activation feature to start ModemManager.
Closes: #770871 Gbp-Pq: Name Check-at-runtime-whether-to-start-ModemManager.patch --- src/devices/wwan/nm-modem-manager.c | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/src/devices/wwan/nm-modem-manager.c b/src/devices/wwan/nm-modem-manager.c index e26321b..9e9bc13 100644 --- a/src/devices/wwan/nm-modem-manager.c +++ b/src/devices/wwan/nm-modem-manager.c @@ -25,6 +25,7 @@ #include <string.h> #include <libmm-glib.h> +#include <systemd/sd-daemon.h> #include "nm-modem-manager.h" #include "nm-dbus-compat.h" @@ -199,10 +200,9 @@ modem_manager_name_owner_changed (MMManager *modem_manager, if (!name_owner) { nm_log_info (LOGD_MB, "ModemManager disappeared from bus"); -#if !HAVE_SYSTEMD /* If not managed by systemd, schedule relaunch */ - schedule_modem_manager_relaunch (self, 0); -#endif + if (!sd_booted()) + schedule_modem_manager_relaunch (self, 0); return; } @@ -223,8 +223,6 @@ modem_manager_name_owner_changed (MMManager *modem_manager, */ } -#if !HAVE_SYSTEMD - static void modem_manager_poke_cb (GDBusConnection *connection, GAsyncResult *res, @@ -273,8 +271,6 @@ modem_manager_poke (NMModemManager *self) g_object_ref (self)); /* user_data */ } -#endif /* HAVE_SYSTEMD */ - static void modem_manager_check_name_owner (NMModemManager *self) { @@ -288,10 +284,9 @@ modem_manager_check_name_owner (NMModemManager *self) return; } -#if !HAVE_SYSTEMD /* If the lifecycle is not managed by systemd, poke */ - modem_manager_poke (self); -#endif + if (!sd_booted()) + modem_manager_poke (self); } static void -- 2.7.4 _______________________________________________ networkmanager-list mailing list networkmanager-list@gnome.org https://mail.gnome.org/mailman/listinfo/networkmanager-list