chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
79d860f
)
logind: consider key inhibitors that are taken by non-session processes as global
author
Lennart Poettering
<lennart@poettering.net>
Fri, 5 Apr 2013 16:57:58 +0000
(18:57 +0200)
committer
Lennart Poettering
<lennart@poettering.net>
Fri, 5 Apr 2013 16:57:58 +0000
(18:57 +0200)
This should allow system services to take over key handling for all
sessions, globally.
src/login/logind-inhibit.c
patch
|
blob
|
history
diff --git
a/src/login/logind-inhibit.c
b/src/login/logind-inhibit.c
index 9994084f93dc3d41427a6de22e0153a629213256..c43ae23acf6adf8d76b4ccf4bbe1b0510c9352ee 100644
(file)
--- 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);
}