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
* cgroup_notify_empty(): recursively check groups up the tree, too
* fix alsa mixer restore to not print error when no config is stored
* 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,
DBUS_TYPE_STRING, &cgroup,
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
cgroup_notify_empty(m, cgroup);
}

View File

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