chiark / gitweb /
logind: move lid switch handling from logind-main to logind-core
authorKay Sievers <kay@vrfy.org>
Tue, 11 Mar 2014 21:38:54 +0000 (22:38 +0100)
committerKay Sievers <kay@vrfy.org>
Tue, 11 Mar 2014 21:43:11 +0000 (22:43 +0100)
../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]

src/login/logind-dbus.c
src/login/logind.c

index c5f9cb393075bc5de5a0aec566bcc93cada19f1b..2ef87f72aa00a60982e51103f1375c1d444127e8 100644 (file)
@@ -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,
index 03b77539bdf33f0f012042ab32d11446ea67956d..2d734ff26f70412c24d9c3781f754394d6a36af7 100644 (file)
@@ -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;