diff options
author | Sven Eden <yamakuzure@gmx.net> | 2017-01-20 16:35:48 +0100 |
---|---|---|
committer | Sven Eden <yamakuzure@gmx.net> | 2017-03-14 10:23:02 +0100 |
commit | 1dcc35973e70aa02beb37fcc9d289053c264eef1 (patch) | |
tree | 2724d9e29ef127b00e31881e79acdbd120d27ab8 /src/login | |
parent | 5c0d156837dbdc184fa0d621544be8127041e36c (diff) |
Fix logind startup
* src/login/logind.c (manager_connect_bus):
- Notice instead of error if we can't subscribe to updates from
systemd. Perhaps we should remove this entirely. But leaving
it optional means, that a system managed by systemd can use
elogind substituting systemd-login.
- Warn instead of error if we can't add receiver matches from
systemd events. On a system not run by systemd, such events
wouldn't occur anyway.
Diffstat (limited to 'src/login')
-rw-r--r-- | src/login/logind.c | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/src/login/logind.c b/src/login/logind.c index 792a04dc0..755d0be21 100644 --- a/src/login/logind.c +++ b/src/login/logind.c @@ -626,7 +626,7 @@ static int manager_connect_bus(Manager *m) { "path='/org/freedesktop/systemd1'", match_job_removed, m); if (r < 0) - return log_error_errno(r, "Failed to add match for JobRemoved: %m"); + log_warning_errno(r, "Failed to add match for JobRemoved: %m"); r = sd_bus_add_match(m->bus, NULL, @@ -637,7 +637,7 @@ static int manager_connect_bus(Manager *m) { "path='/org/freedesktop/systemd1'", match_unit_removed, m); if (r < 0) - return log_error_errno(r, "Failed to add match for UnitRemoved: %m"); + log_warning_errno(r, "Failed to add match for UnitRemoved: %m"); r = sd_bus_add_match(m->bus, NULL, @@ -647,7 +647,7 @@ static int manager_connect_bus(Manager *m) { "member='PropertiesChanged'", match_properties_changed, m); if (r < 0) - return log_error_errno(r, "Failed to add match for PropertiesChanged: %m"); + log_warning_errno(r, "Failed to add match for PropertiesChanged: %m"); r = sd_bus_add_match(m->bus, NULL, @@ -658,8 +658,8 @@ static int manager_connect_bus(Manager *m) { "path='/org/freedesktop/systemd1'", match_reloading, m); if (r < 0) - return log_error_errno(r, "Failed to add match for Reloading: %m"); -#if 0 + log_warning_errno(r, "Failed to add match for Reloading: %m"); + r = sd_bus_call_method( m->bus, "org.freedesktop.systemd1", @@ -668,11 +668,9 @@ static int manager_connect_bus(Manager *m) { "Subscribe", &error, NULL, NULL); - if (r < 0) { - log_error("Failed to enable subscription: %s", bus_error_message(&error, r)); - return r; - } -#endif // 0 + if (r < 0) + log_notice("Failed to enable subscription: %s", bus_error_message(&error, r)); + r = sd_bus_request_name(m->bus, "org.freedesktop.login1", 0); if (r < 0) return log_error_errno(r, "Failed to register name: %m"); |