From: Lennart Poettering Date: Sun, 29 Jul 2012 14:17:06 +0000 (+0200) Subject: logind: add LockSessions() call to lock all local sessions at once X-Git-Tag: v188~55 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=fa2b196da12642d3560f5766eef09ffca7c31f7b;ds=sidebyside logind: add LockSessions() call to lock all local sessions at once --- 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;