chiark / gitweb /
dbus: introduce _cleanup_dbus_error_free_
[elogind.git] / src / login / logind-button.c
index 5fadadede6ae46692abd66fd473eee47d2f5ecc2..8bbd731ae40569d727b480474734c0eb12c11aa0 100644 (file)
@@ -150,18 +150,6 @@ fail:
         return r;
 }
 
-static int lock_sessions(Manager *m) {
-        Iterator i;
-        Session *session;
-
-        log_info("Locking sessions...");
-
-        HASHMAP_FOREACH(session, m->sessions, i)
-                session_send_lock(session, true);
-
-        return 1;
-}
-
 static int button_handle(
                 Button *b,
                 InhibitWhat inhibit_key,
@@ -176,7 +164,7 @@ static int button_handle(
                 [HANDLE_KEXEC] = "Rebooting via kexec...",
                 [HANDLE_SUSPEND] = "Suspending...",
                 [HANDLE_HIBERNATE] = "Hibernating...",
-                [HANDLE_HYBRID_SLEEP] = "Hibernating and suspend..."
+                [HANDLE_HYBRID_SLEEP] = "Hibernating and suspending..."
         };
 
         static const char * const target_table[_HANDLE_BUTTON_MAX] = {
@@ -208,8 +196,11 @@ static int button_handle(
         }
 
         /* Locking is handled differently from the rest. */
-        if (handle == HANDLE_LOCK)
-                return lock_sessions(b->manager);
+        if (handle == HANDLE_LOCK) {
+                log_info("Locking sessions...");
+                session_send_lock_all(b->manager, true);
+                return 1;
+        }
 
         inhibit_operation = handle == HANDLE_SUSPEND || handle == HANDLE_HIBERNATE || handle == HANDLE_HYBRID_SLEEP ? INHIBIT_SLEEP : INHIBIT_SHUTDOWN;