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:
4721589
)
Prep v239: manager_get_session_by_pid() : Support Session **ret parameter.
author
Sven Eden
<yamakuzure@gmx.net>
Wed, 15 Aug 2018 06:47:37 +0000
(08:47 +0200)
committer
Sven Eden
<yamakuzure@gmx.net>
Fri, 24 Aug 2018 14:47:08 +0000
(16:47 +0200)
src/login/logind-core.c
patch
|
blob
|
history
diff --git
a/src/login/logind-core.c
b/src/login/logind-core.c
index 233280697d0f3bb8b691ca27e696111d8d1c6439..fe4da328cee889790f6c41dc7b2598e8b30e8554 100644
(file)
--- a/
src/login/logind-core.c
+++ b/
src/login/logind-core.c
@@
-23,8
+23,10
@@
void manager_reset_config(Manager *m) {
assert(m);
void manager_reset_config(Manager *m) {
assert(m);
+#if 0 /// elogind does not support autospawning of vts
m->n_autovts = 6;
m->reserve_vt = 6;
m->n_autovts = 6;
m->reserve_vt = 6;
+#endif // 0
m->remove_ipc = true;
m->inhibit_delay_max = 5 * USEC_PER_SEC;
m->handle_power_key = HANDLE_POWEROFF;
m->remove_ipc = true;
m->inhibit_delay_max = 5 * USEC_PER_SEC;
m->handle_power_key = HANDLE_POWEROFF;
@@
-331,25
+333,28
@@
int manager_get_session_by_pid(Manager *m, pid_t pid, Session **ret) {
s = hashmap_get(m->session_units, unit);
if (!s)
goto not_found;
s = hashmap_get(m->session_units, unit);
if (!s)
goto not_found;
-
- if (ret)
- *ret = s;
#else
log_debug_elogind("Searching session for PID %u", pid);
r = cg_pid_get_session(pid, &session_name);
if (r < 0)
#else
log_debug_elogind("Searching session for PID %u", pid);
r = cg_pid_get_session(pid, &session_name);
if (r < 0)
-
return 0
;
+
goto not_found
;
s = hashmap_get(m->sessions, session_name);
log_debug_elogind("Session Name \"%s\" -> Session \"%s\"",
session_name, s && s->id ? s->id : "NULL");
s = hashmap_get(m->sessions, session_name);
log_debug_elogind("Session Name \"%s\" -> Session \"%s\"",
session_name, s && s->id ? s->id : "NULL");
+ if (NULL == s)
+ goto not_found;
#endif // 0
#endif // 0
+ if (ret)
+ *ret = s;
+
return 1;
not_found:
if (ret)
*ret = NULL;
return 1;
not_found:
if (ret)
*ret = NULL;
+
return 0;
}
return 0;
}