chiark / gitweb /
logind: rework delay inhibition logic
[elogind.git] / src / login / logind.c
index 6776229ee7b6643134e11c835753bf8de1c0e411..be793e2a93ca8a8f93cf059a220850d4e30e5f34 100644 (file)
@@ -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);
 }
@@ -1626,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);
                 }