summaryrefslogtreecommitdiff
path: root/src/core/automount.c
diff options
context:
space:
mode:
authorIvan Shapovalov <intelfx100@gmail.com>2015-03-07 08:44:52 -0500
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2015-03-07 08:44:57 -0500
commit6e392c9c45643d106673c6643ac8bf4e65da13c1 (patch)
tree77cd87fdc7f0e104f2f48fb0ea282111dde94766 /src/core/automount.c
parent6829cec4dce1b41c895425a120b70d0a3ed677ab (diff)
core: do not spawn jobs or touch other units during coldplugging
Because the order of coldplugging is not defined, we can reference a not-yet-coldplugged unit and read its state while it has not yet been set to a meaningful value. This way, already active units may get started again. We fix this by deferring such actions until all units have been at least somehow coldplugged. Fixes https://bugs.freedesktop.org/show_bug.cgi?id=88401
Diffstat (limited to 'src/core/automount.c')
-rw-r--r--src/core/automount.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/core/automount.c b/src/core/automount.c
index 4a509efaf4..0539fbbc41 100644
--- a/src/core/automount.c
+++ b/src/core/automount.c
@@ -233,7 +233,7 @@ static void automount_set_state(Automount *a, AutomountState state) {
unit_notify(UNIT(a), state_translation_table[old_state], state_translation_table[state], true);
}
-static int automount_coldplug(Unit *u) {
+static int automount_coldplug(Unit *u, Hashmap *deferred_work) {
Automount *a = AUTOMOUNT(u);
int r;