From bcbca8291fe3beaed36dd672d8b544840cfc49de Mon Sep 17 00:00:00 2001 From: Tom Gundersen Date: Sat, 18 Jan 2014 01:37:35 +0100 Subject: networkd: don't hard depend on system bus We may not have a dbus daemon in the initrd (until we can rely on kdbus). In this case, simply ignore any attempts at using the bus. There is only one user for now, but surely more to come. In order to work reliably in the real root without kdbus, but at the same time don't delay boot when kdbus is in use, order ourselves after dbus.service. --- src/network/networkd-manager.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'src/network/networkd-manager.c') diff --git a/src/network/networkd-manager.c b/src/network/networkd-manager.c index 8eaf101df..c630ed7ed 100644 --- a/src/network/networkd-manager.c +++ b/src/network/networkd-manager.c @@ -55,7 +55,7 @@ int manager_new(Manager **ret) { return r; r = sd_bus_default_system(&m->bus); - if (r < 0) + if (r < 0 && r != -ENOENT) /* TODO: drop when we can rely on kdbus */ return r; m->udev = udev_new(); @@ -288,6 +288,11 @@ int manager_rtnl_listen(Manager *m) { int manager_bus_listen(Manager *m) { int r; + assert(m->event); + + if (!m->bus) /* TODO: drop when we can rely on kdbus */ + return 0; + r = sd_bus_attach_event(m->bus, m->event, 0); if (r < 0) return r; -- cgit v1.2.3