]> git.ipfire.org Git - thirdparty/systemd.git/commit - src/core/service.c
core: do not spawn jobs or touch other units during coldplugging
authorIvan Shapovalov <intelfx100@gmail.com>
Sat, 7 Mar 2015 13:44:52 +0000 (08:44 -0500)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Sat, 7 Mar 2015 13:44:57 +0000 (08:44 -0500)
commit6e392c9c45643d106673c6643ac8bf4e65da13c1
tree77cd87fdc7f0e104f2f48fb0ea282111dde94766
parent6829cec4dce1b41c895425a120b70d0a3ed677ab
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
16 files changed:
src/core/automount.c
src/core/busname.c
src/core/device.c
src/core/manager.c
src/core/mount.c
src/core/path.c
src/core/scope.c
src/core/service.c
src/core/slice.c
src/core/snapshot.c
src/core/socket.c
src/core/swap.c
src/core/target.c
src/core/timer.c
src/core/unit.c
src/core/unit.h