chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
logind: it's OK if a process on an pty requests a session for seat0
[elogind.git]
/
src
/
login
/
logind-dbus.c
diff --git
a/src/login/logind-dbus.c
b/src/login/logind-dbus.c
index 3bcb91bf13fea32c47f8bf98a65999812074fe81..8b6021d35f667a30e2582651ce67b9f8e3e17a04 100644
(file)
--- a/
src/login/logind-dbus.c
+++ b/
src/login/logind-dbus.c
@@
-415,8
+415,7
@@
static int bus_manager_create_session(Manager *m, DBusMessage *message, DBusMess
if (vtnr != 0)
return -EINVAL;
if (vtnr != 0)
return -EINVAL;
- } else if (!isempty(tty) && s && seat_is_vtconsole(s))
- return -EINVAL;
+ }
if (s) {
if (seat_can_multi_session(s)) {
if (s) {
if (seat_can_multi_session(s)) {
@@
-1812,7
+1811,7
@@
static DBusHandlerResult manager_message_handler(
session = hashmap_get(m->sessions, name);
if (!session)
session = hashmap_get(m->sessions, name);
if (!session)
- return bus_send_error_reply(connection, message,
&error
, -ENOENT);
+ return bus_send_error_reply(connection, message,
NULL
, -ENOENT);
if (session_send_lock(session, streq(dbus_message_get_member(message), "LockSession")) < 0)
goto oom;
if (session_send_lock(session, streq(dbus_message_get_member(message), "LockSession")) < 0)
goto oom;
@@
-1822,12
+1821,9
@@
static DBusHandlerResult manager_message_handler(
goto oom;
} else if (dbus_message_is_method_call(message, "org.freedesktop.login1.Manager", "LockSessions")) {
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;
+ r = session_send_lock_all(m, true);
+ if (r < 0)
+ bus_send_error_reply(connection, message, NULL, r);
reply = dbus_message_new_method_return(message);
if (!reply)
reply = dbus_message_new_method_return(message);
if (!reply)