[systemd-commits] src/login
Kay Sievers
kay at kemper.freedesktop.org
Tue Mar 11 15:05:45 PDT 2014
src/login/logind-dbus.c | 40 ++++++++++++++++++++++++++++++++++++++++
src/login/logind.c | 40 ----------------------------------------
2 files changed, 40 insertions(+), 40 deletions(-)
New commits:
commit b5d3e1688133077ca20542a20dcd8919147e72e1
Author: Kay Sievers <kay at vrfy.org>
Date: Tue Mar 11 22:38:54 2014 +0100
logind: move lid switch handling from logind-main to logind-core
../src/login/logind-dbus.c:1352: error: undefined reference to 'manager_set_lid_switch_ignore'
collect2: error: ld returned 1 exit status
make[2]: *** [test-login-tables]
diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c
index c5f9cb3..2ef87f7 100644
--- a/src/login/logind-dbus.c
+++ b/src/login/logind-dbus.c
@@ -1305,6 +1305,46 @@ static int bus_manager_log_shutdown(
q, NULL);
}
+static int lid_switch_ignore_handler(sd_event_source *e, uint64_t usec, void *userdata) {
+ Manager *m = userdata;
+
+ assert(e);
+ assert(m);
+
+ m->lid_switch_ignore_event_source = sd_event_source_unref(m->lid_switch_ignore_event_source);
+ return 0;
+}
+
+int manager_set_lid_switch_ignore(Manager *m, usec_t until) {
+ int r;
+
+ assert(m);
+
+ if (until <= now(CLOCK_MONOTONIC))
+ return 0;
+
+ /* We want to ignore the lid switch for a while after each
+ * suspend, and after boot-up. Hence let's install a timer for
+ * this. As long as the event source exists we ignore the lid
+ * switch. */
+
+ if (m->lid_switch_ignore_event_source) {
+ usec_t u;
+
+ r = sd_event_source_get_time(m->lid_switch_ignore_event_source, &u);
+ if (r < 0)
+ return r;
+
+ if (until <= u)
+ return 0;
+
+ r = sd_event_source_set_time(m->lid_switch_ignore_event_source, until);
+ } else
+ r = sd_event_add_monotonic(m->event, &m->lid_switch_ignore_event_source, until, 0, lid_switch_ignore_handler, m);
+
+ return r;
+}
+
static int execute_shutdown_or_sleep(
Manager *m,
InhibitWhat w,
diff --git a/src/login/logind.c b/src/login/logind.c
index 03b7753..2d734ff 100644
--- a/src/login/logind.c
+++ b/src/login/logind.c
@@ -962,46 +962,6 @@ static int manager_dispatch_idle_action(sd_event_source *s, uint64_t t, void *us
return 0;
}
-static int lid_switch_ignore_handler(sd_event_source *e, uint64_t usec, void *userdata) {
- Manager *m = userdata;
-
- assert(e);
- assert(m);
-
- m->lid_switch_ignore_event_source = sd_event_source_unref(m->lid_switch_ignore_event_source);
- return 0;
-}
-
-int manager_set_lid_switch_ignore(Manager *m, usec_t until) {
- int r;
-
- assert(m);
-
- if (until <= now(CLOCK_MONOTONIC))
- return 0;
-
- /* We want to ignore the lid switch for a while after each
- * suspend, and after boot-up. Hence let's install a timer for
- * this. As long as the event source exists we ignore the lid
- * switch. */
-
- if (m->lid_switch_ignore_event_source) {
- usec_t u;
-
- r = sd_event_source_get_time(m->lid_switch_ignore_event_source, &u);
- if (r < 0)
- return r;
-
- if (until <= u)
- return 0;
-
- r = sd_event_source_set_time(m->lid_switch_ignore_event_source, until);
- } else
- r = sd_event_add_monotonic(m->event, &m->lid_switch_ignore_event_source, until, 0, lid_switch_ignore_handler, m);
-
- return r;
-}
-
int manager_startup(Manager *m) {
int r;
Seat *seat;
More information about the systemd-commits
mailing list