summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/login/logind-inhibit.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/login/logind-inhibit.c b/src/login/logind-inhibit.c
index 9994084f93..c43ae23acf 100644
--- a/src/login/logind-inhibit.c
+++ b/src/login/logind-inhibit.c
@@ -354,9 +354,14 @@ static int pid_is_active(Manager *m, pid_t pid) {
int r;
r = manager_get_session_by_pid(m, pid, &s);
- if (r <= 0)
+ if (r < 0)
return r;
+ /* If there's no session assigned to it, then it's globally
+ * active on all ttys */
+ if (r == 0)
+ return 1;
+
return session_is_active(s);
}