summaryrefslogtreecommitdiff
path: root/src/login/logind.c
diff options
context:
space:
mode:
authorSven Eden <yamakuzure@gmx.net>2017-03-14 11:30:17 +0100
committerSven Eden <yamakuzure@gmx.net>2017-03-14 12:12:32 +0100
commit3d1092eab0f4a5c771225c78072a7b6eccb82849 (patch)
tree2b1603e5a0aa1e7e42f4bb9bbcac73bfac46e63d /src/login/logind.c
parentd76bb3c179b7a32b109e39aa87ff09c8f5a8c178 (diff)
Major cleanup of all leftovers after rebasing on master.
The patching of elogind in several steps with only partly rebasing on a common commit with upstream, left the tree in a state, that was unmergeable with master. By rebasing on master and manually cleaning up all commits, this merge is now possible. However, this process left some orphans, that are cleanup now.
Diffstat (limited to 'src/login/logind.c')
-rw-r--r--src/login/logind.c21
1 files changed, 11 insertions, 10 deletions
diff --git a/src/login/logind.c b/src/login/logind.c
index 23f405993..0b7d9653a 100644
--- a/src/login/logind.c
+++ b/src/login/logind.c
@@ -30,11 +30,11 @@
#include "conf-parser.h"
#include "bus-util.h"
#include "bus-error.h"
-#include "logind.h"
#include "udev-util.h"
#include "formats-util.h"
+#include "signal-util.h"
#include "label.h"
-#include "label.h"
+#include "logind.h"
#include "cgroup.h"
#include "mount-setup.h"
#include "virt.h"
@@ -203,7 +203,7 @@ static void manager_free(Manager *m) {
udev_unref(m->udev);
if (m->unlink_nologin)
- unlink("/run/nologin");
+ (void) unlink("/run/nologin");
bus_verify_polkit_async_registry_free(m->polkit_registry);
@@ -869,13 +869,8 @@ static int manager_connect_console(Manager *m) {
return -EINVAL;
}
- r = ignore_signals(SIGRTMIN + 1, -1);
- if (r < 0)
- return log_error_errno(r, "Cannot ignore SIGRTMIN + 1: %m");
-
- r = sigprocmask_many(SIG_BLOCK, SIGRTMIN, -1);
- if (r < 0)
- return log_error_errno(r, "Cannot block SIGRTMIN: %m");
+ assert_se(ignore_signals(SIGRTMIN + 1, -1) >= 0);
+ assert_se(sigprocmask_many(SIG_BLOCK, NULL, SIGRTMIN, -1) >= 0);
r = sd_event_add_signal(m->event, NULL, SIGRTMIN, manager_vt_switch, m);
if (r < 0)
@@ -1202,6 +1197,12 @@ static int manager_run(Manager *m) {
manager_gc(m, true);
+ r = manager_dispatch_delayed(m, false);
+ if (r < 0)
+ return r;
+ if (r > 0)
+ continue;
+
r = sd_event_run(m->event, (uint64_t) -1);
if (r < 0)
return r;