From fa2b196da12642d3560f5766eef09ffca7c31f7b Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Sun, 29 Jul 2012 16:17:06 +0200 Subject: [PATCH] logind: add LockSessions() call to lock all local sessions at once --- src/login/logind-dbus.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c index a2ead8609..86ca65451 100644 --- a/src/login/logind-dbus.c +++ b/src/login/logind-dbus.c @@ -98,6 +98,7 @@ " \n" \ " \n" \ " \n" \ + " \n" \ " \n" \ " \n" \ " \n" \ @@ -1745,6 +1746,18 @@ static DBusHandlerResult manager_message_handler( if (!reply) goto oom; + } else if (dbus_message_is_method_call(message, "org.freedesktop.login1.Manager", "LockSessions")) { + Session *session; + Iterator i; + + HASHMAP_FOREACH(session, m->sessions, i) + if (session_send_lock(session, true) < 0) + goto oom; + + reply = dbus_message_new_method_return(message); + if (!reply) + goto oom; + } else if (dbus_message_is_method_call(message, "org.freedesktop.login1.Manager", "KillSession")) { const char *swho; int32_t signo; -- 2.30.2