On Fri, 2016-06-10 at 17:56 -0400, Tony Espy wrote:
> From: Didier Raboud <[email protected]>
>
> 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
Feature seems OK, but patch needs some work...
> 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>
This requires some configure magic to figure out whether or not we
have libsystemd-daemon, so it would require PKG_CHECK_MODULES in
configure.ac.
For ease of coding, if we don't have libsystemd-daemon, the patch
should probably fake sd_booted() to return false, then we can
unconditionally call sd_booted() in the code. The
AC_DEFINE(HAVE_SYSTEMD...) stuff would get converted into checks for
libsystemd-daemon kinda like the systemd-journal checking.
Dan
> #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
_______________________________________________
networkmanager-list mailing list
[email protected]
https://mail.gnome.org/mailman/listinfo/networkmanager-list