chiark / gitweb /
logind: allow users to override their own suspend/sleep inhibitors
[elogind.git] / src / login / logind-inhibit.c
index fce2f4dd907a99725ae8b14afaef7d9eeb4fde01..66e4c29f365cbc85fd0e8c9c3001e21759358c6f 100644 (file)
@@ -364,7 +364,9 @@ bool manager_is_inhibited(
                 InhibitWhat w,
                 InhibitMode mm,
                 dual_timestamp *since,
-                bool only_active) {
+                bool ignore_inactive,
+                bool ignore_uid,
+                uid_t uid) {
 
         Inhibitor *i;
         Iterator j;
@@ -381,7 +383,10 @@ bool manager_is_inhibited(
                 if (i->mode != mm)
                         continue;
 
-                if (only_active && pid_is_active(m, i->pid) <= 0)
+                if (ignore_inactive && pid_is_active(m, i->pid) <= 0)
+                        continue;
+
+                if (ignore_uid && i->uid == uid)
                         continue;
 
                 if (!inhibited ||