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:
b9316fb
)
unit: when deserializing cgroup path add it back into cgroup hashmap
author
Lennart Poettering
<lennart@poettering.net>
Wed, 10 Jul 2013 19:17:37 +0000
(21:17 +0200)
committer
Lennart Poettering
<lennart@poettering.net>
Wed, 10 Jul 2013 21:41:03 +0000
(23:41 +0200)
Also, properly remove cgroup path from hashmap when freeing unit.
src/core/unit.c
patch
|
blob
|
history
diff --git
a/src/core/unit.c
b/src/core/unit.c
index 70cdd3d943dbcabc91e38d63343793566fd1f77c..5bc57e25c6bb2cc8753913bf25ac9c2ba4a52a0b 100644
(file)
--- a/
src/core/unit.c
+++ b/
src/core/unit.c
@@
-433,7
+433,11
@@
void unit_free(Unit *u) {
if (u->in_cgroup_queue)
LIST_REMOVE(Unit, cgroup_queue, u->manager->cgroup_queue, u);
- free(u->cgroup_path);
+ if (u->cgroup_path) {
+ hashmap_remove(u->manager->cgroup_unit, u->cgroup_path);
+ free(u->cgroup_path);
+ }
+
free(u->description);
strv_free(u->documentation);
free(u->fragment_path);
@@
-2308,6
+2312,8
@@
int unit_deserialize(Unit *u, FILE *f, FDSet *fds) {
free(u->cgroup_path);
u->cgroup_path = s;
+
+ hashmap_put(u->manager->cgroup_unit, s, u);
continue;
}