From f806f64c7460632d6b6c27865e1554cb6c934320 Mon Sep 17 00:00:00 2001 From: Tom Gundersen Date: Wed, 11 Feb 2015 12:57:58 +0100 Subject: [PATCH] networkd: don't do exit-on-idle if there is something wrong with the dbus connection Just fall back to plain old event loop in this (highly unlikely) case. In the glorious future when kdbus is upstream we can of course drop all this. --- src/network/networkd-manager.c | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/src/network/networkd-manager.c b/src/network/networkd-manager.c index 4617f1186..ce97ac077 100644 --- a/src/network/networkd-manager.c +++ b/src/network/networkd-manager.c @@ -534,13 +534,18 @@ static bool manager_check_idle(void *userdata) { int manager_run(Manager *m) { assert(m); - return bus_event_loop_with_idle( - m->event, - m->bus, - "org.freedesktop.network1", - DEFAULT_EXIT_USEC, - manager_check_idle, - m); + if (m->bus) + return bus_event_loop_with_idle( + m->event, + m->bus, + "org.freedesktop.network1", + DEFAULT_EXIT_USEC, + manager_check_idle, + m); + else + /* failed to connect to the bus, so we lose exit-on-idle logic, + this should not happen except if dbus is not around at all */ + return sd_event_loop(m->event); } int manager_load_config(Manager *m) { -- 2.30.2