X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flogind-session.c;h=8e35e09069c4b503035375238d2eee4ae2dca04d;hb=e9816c4859454d341279f1c9e77df4af4bacd534;hp=cbde8105020435fba55708ae50fcb10c834565f4;hpb=accaeded150b13685b188ea69f4b608d3cfa5463;p=elogind.git diff --git a/src/logind-session.c b/src/logind-session.c index cbde81050..8e35e0906 100644 --- a/src/logind-session.c +++ b/src/logind-session.c @@ -408,9 +408,11 @@ static int session_create_one_group(Session *s, const char *controller, const ch assert(controller); assert(path); - if (s->leader > 0) + if (s->leader > 0) { r = cg_create_and_attach(controller, path, s->leader); - else + if (r < 0) + r = cg_create(controller, path); + } else r = cg_create(controller, path); if (r < 0) @@ -509,13 +511,16 @@ int session_start(Session *s) { /* Create X11 symlink */ session_link_x11_socket(s); - /* Save session data */ - session_save(s); - dual_timestamp_get(&s->timestamp); + if (s->seat) + seat_read_active_vt(s->seat); + s->started = true; + /* Save session data */ + session_save(s); + session_send_signal(s, true); if (s->seat) {