logind: make sure we hand out write fd, and keep read fd for session end detection

This commit is contained in:
Lennart Poettering 2011-06-24 20:40:00 +02:00
parent ed18b08bed
commit 19bc719ec2
3 changed files with 7 additions and 5 deletions

2
TODO
View File

@ -80,6 +80,8 @@ Features:
* avoid DefaultStandardOutput=syslog to have any effect on StandardInput=socket services * avoid DefaultStandardOutput=syslog to have any effect on StandardInput=socket services
* cgroup_notify_empty(): recursively check groups up the tree, too
* fix alsa mixer restore to not print error when no config is stored * fix alsa mixer restore to not print error when no config is stored
* show enablement status in systemctl status * show enablement status in systemctl status

View File

@ -446,7 +446,7 @@ static DBusHandlerResult system_bus_message_filter(DBusConnection *connection, D
if (!dbus_message_get_args(message, &error, if (!dbus_message_get_args(message, &error,
DBUS_TYPE_STRING, &cgroup, DBUS_TYPE_STRING, &cgroup,
DBUS_TYPE_INVALID)) DBUS_TYPE_INVALID))
log_error("Failed to parse Released message: %s", error.message); log_error("Failed to parse Released message: %s", bus_error_message(&error));
else else
cgroup_notify_empty(m, cgroup); cgroup_notify_empty(m, cgroup);
} }

View File

@ -382,8 +382,8 @@ static int bus_manager_create_session(Manager *m, DBusMessage *message, DBusMess
goto fail; goto fail;
} }
session->pipe_fd = pipe_fds[1]; session->pipe_fd = pipe_fds[0];
pipe_fds[1] = -1; pipe_fds[0] = -1;
if (s) { if (s) {
r = seat_attach_session(s, session); r = seat_attach_session(s, session);
@ -412,7 +412,7 @@ static int bus_manager_create_session(Manager *m, DBusMessage *message, DBusMess
DBUS_TYPE_STRING, &session->id, DBUS_TYPE_STRING, &session->id,
DBUS_TYPE_OBJECT_PATH, &p, DBUS_TYPE_OBJECT_PATH, &p,
DBUS_TYPE_STRING, &session->user->runtime_path, DBUS_TYPE_STRING, &session->user->runtime_path,
DBUS_TYPE_UNIX_FD, &pipe_fds[0], DBUS_TYPE_UNIX_FD, &pipe_fds[1],
DBUS_TYPE_INVALID); DBUS_TYPE_INVALID);
free(p); free(p);
@ -421,7 +421,7 @@ static int bus_manager_create_session(Manager *m, DBusMessage *message, DBusMess
goto fail; goto fail;
} }
close_nointr_nofail(pipe_fds[0]); close_nointr_nofail(pipe_fds[1]);
*_reply = reply; *_reply = reply;
return 0; return 0;