X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flogin%2Flogind.c;h=bb34a7f362da421e70183cf6a93cc1a1811012dc;hb=41330ddb033f2cbeeb565e43708be91d5df28fb2;hp=6438631b594c15ce61e8d05947f542c5e48f99a6;hpb=23406ce58aa7142e8df3c5c9e5ac34a01e90e3e0;p=elogind.git diff --git a/src/login/logind.c b/src/login/logind.c index 6438631b5..bb34a7f36 100644 --- a/src/login/logind.c +++ b/src/login/logind.c @@ -187,6 +187,8 @@ void manager_free(Manager *m) { strv_free(m->kill_only_users); strv_free(m->kill_exclude_users); + free(m->action_job); + free(m->cgroup_path); free(m); } @@ -459,11 +461,7 @@ int manager_enumerate_devices(Manager *m) { goto finish; } - r = udev_enumerate_add_match_subsystem(e, "graphics"); - if (r < 0) - goto finish; - - r = udev_enumerate_add_match_tag(e, "seat"); + r = udev_enumerate_add_match_tag(e, "master-of-seat"); if (r < 0) goto finish; @@ -1295,11 +1293,7 @@ static int manager_connect_udev(Manager *m) { if (!m->udev_seat_monitor) return -ENOMEM; - r = udev_monitor_filter_add_match_tag(m->udev_seat_monitor, "seat"); - if (r < 0) - return r; - - r = udev_monitor_filter_add_match_subsystem_devtype(m->udev_seat_monitor, "graphics", NULL); + r = udev_monitor_filter_add_match_tag(m->udev_seat_monitor, "master-of-seat"); if (r < 0) return r; @@ -1469,7 +1463,7 @@ int manager_dispatch_idle_action(Manager *m) { r = manager_get_idle_hint(m, &since); if (r <= 0) - /* Not idle. Let's check if after a timeout it it might be idle then. */ + /* Not idle. Let's check if after a timeout it might be idle then. */ timespec_store(&its.it_value, n + m->idle_action_usec); else { /* Idle! Let's see if it's time to do something, or if @@ -1634,11 +1628,11 @@ int manager_run(Manager *m) { manager_gc(m, true); - if (m->delayed_unit) { + if (m->action_what != 0) { usec_t x, y; x = now(CLOCK_MONOTONIC); - y = m->delayed_timestamp + m->inhibit_delay_max; + y = m->action_timestamp + m->inhibit_delay_max; msec = x >= y ? 0 : (int) ((y - x) / USEC_PER_MSEC); }