Systemd/src/core
David Tardon a7a7163df7 fix race between daemon-reload and other commands
When "systemctl daemon-reload" is run at the same time as "systemctl
start foo", the latter might hang. That's because commands like start
wait for JobRemoved signal to know when the job is finished. But if the
job is finished during reloading, the signal is never sent.

The hang can be easily reproduced by running

    # for ((N=1; N>0; N++)) ; do echo $N ; systemctl daemon-reload ; done
    # for ((N=1; N>0; N++)) ; do echo $N ; systemctl start systemd-coredump.socket ; done

in two different terminals. The start command will hang after 1-2
iterations.

This keeps track of jobs that were started before reload and finished
during it and sends JobRemoved after the reload has finished.
2018-05-19 11:37:00 +02:00
..
all-units.h core: undo the dependency inversion between unit.h and all unit types 2018-05-15 14:24:34 -04:00
audit-fd.c tree-wide: drop spurious newlines (#8764) 2018-04-19 12:13:23 +02:00
audit-fd.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
automount.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
automount.h core: undo the dependency inversion between unit.h and all unit types 2018-05-15 14:24:34 -04:00
bpf-firewall.c Fix three uses of bogus errno value in logs (and returned value in one case) 2018-04-24 14:10:27 +02:00
bpf-firewall.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
cgroup.c tree-wide: avoid assignment of r just to use in a comparison 2018-04-24 14:10:27 +02:00
cgroup.h core: Break circular dependency between unit.h and cgroup.h 2018-05-15 14:23:32 -04:00
chown-recursive.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
chown-recursive.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
dbus-automount.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
dbus-automount.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
dbus-cgroup.c src/core/dbus-cgroup.c: fix typo contoller -> controller (#8717) 2018-04-14 11:06:11 +02:00
dbus-cgroup.h core: Break circular dependency between unit.h and cgroup.h 2018-05-15 14:23:32 -04:00
dbus-device.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
dbus-device.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
dbus-execute.c Merge pull request #8985 from yuwata/bus-macro-3 2018-05-18 20:25:52 +02:00
dbus-execute.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
dbus-job.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
dbus-job.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
dbus-kill.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
dbus-kill.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
dbus-manager.c core: use BUS_DEFINE_PROPERTY_GET* macros 2018-05-15 23:11:16 +09:00
dbus-manager.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
dbus-mount.c dbus-mount: use BUS_DEFINE_PROPERTY_GET* macros 2018-05-13 12:21:08 +09:00
dbus-mount.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
dbus-path.c core: merge duplicated functions 2018-05-11 01:41:06 +09:00
dbus-path.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
dbus-scope.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
dbus-scope.h core: undo the dependency inversion between unit.h and all unit types 2018-05-15 14:24:34 -04:00
dbus-service.c core: use bus_property_get_*() functions instead of NULL 2018-05-10 23:02:57 +09:00
dbus-service.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
dbus-slice.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
dbus-slice.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
dbus-socket.c dbus-socket: use BUS_DEFINE_PROPERTY_GET* macros 2018-05-13 12:21:09 +09:00
dbus-socket.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
dbus-swap.c dbus-swap: use BUS_DEFINE_PROPERTY_GET* macros 2018-05-13 12:21:11 +09:00
dbus-swap.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
dbus-target.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
dbus-target.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
dbus-timer.c core: merge duplicated functions 2018-05-11 01:41:06 +09:00
dbus-timer.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
dbus-unit.c core/dbus-unit: do not pass whole Unit object 2018-05-15 23:11:26 +09:00
dbus-unit.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
dbus-util.c core: merge duplicated functions 2018-05-11 01:41:06 +09:00
dbus-util.h core: merge duplicated functions 2018-05-11 01:41:06 +09:00
dbus.c Merge pull request #8981 from keszybz/ratelimit-and-dbus 2018-05-18 21:38:30 +02:00
dbus.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
device.c Merge pull request #8981 from keszybz/ratelimit-and-dbus 2018-05-18 21:38:30 +02:00
device.h core: undo the dependency inversion between unit.h and all unit types 2018-05-15 14:24:34 -04:00
dynamic-user.c core: undo the dependency inversion between unit.h and all unit types 2018-05-15 14:24:34 -04:00
dynamic-user.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
emergency-action.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
emergency-action.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
execute.c process-util: add new helper call for adjusting the OOM score 2018-05-17 20:47:21 +02:00
execute.h tree-wide: be more careful with the type of array sizes 2018-04-27 14:29:06 +02:00
hostname-setup.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
hostname-setup.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
ima-setup.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
ima-setup.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
ip-address-access.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
ip-address-access.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
job.c fix race between daemon-reload and other commands 2018-05-19 11:37:00 +02:00
job.h fix race between daemon-reload and other commands 2018-05-19 11:37:00 +02:00
kill.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
kill.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
killall.c tree-wide: drop spurious newlines (#8764) 2018-04-19 12:13:23 +02:00
killall.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
kmod-setup.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
kmod-setup.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
load-dropin.c tree-wide: drop spurious newlines (#8764) 2018-04-19 12:13:23 +02:00
load-dropin.h core: minor coding style changes 2018-04-13 11:34:48 +02:00
load-fragment-gperf-nulstr.awk build-sys: fix the script used for generating load_fragment_gperf_nulstr (#6646) 2017-08-26 23:21:23 +09:00
load-fragment-gperf.gperf.m4 core: move config_parse_limit() to the generic conf-parser.[ch] 2018-05-17 20:36:52 +02:00
load-fragment.c Merge pull request #9026 from yuwata/followup-9021 2018-05-18 20:02:43 +02:00
load-fragment.h core: move config_parse_limit() to the generic conf-parser.[ch] 2018-05-17 20:36:52 +02:00
locale-setup.c tree-wide: use strv_free_and_replace() macro 2018-05-10 00:57:34 +09:00
locale-setup.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
loopback-setup.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
loopback-setup.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
machine-id-setup.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
machine-id-setup.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
macros.systemd.in tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
main.c core: keep the kernel coredump defaults when systemd-coredump is disabled 2018-05-18 20:37:54 +02:00
manager.c fix race between daemon-reload and other commands 2018-05-19 11:37:00 +02:00
manager.h fix race between daemon-reload and other commands 2018-05-19 11:37:00 +02:00
meson.build meson: generate m4 preprocessor from config.h (#8914) 2018-05-07 11:17:35 +02:00
mount-setup.c core/mount-setup: remove part of check which is always true 2018-05-14 08:50:00 +02:00
mount-setup.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
mount.c core: undo the dependency inversion between unit.h and all unit types 2018-05-15 14:24:34 -04:00
mount.h core: undo the dependency inversion between unit.h and all unit types 2018-05-15 14:24:34 -04:00
namespace.c namespace: extend list of masked files by ProtectKernelTunables= 2018-05-03 17:46:31 +02:00
namespace.h tree-wide: be more careful with the type of array sizes 2018-04-27 14:29:06 +02:00
org.freedesktop.systemd1.conf systemd-analyze: make dump work for large # of units 2018-05-11 08:11:02 -07:00
org.freedesktop.systemd1.policy.in core: systemd1.manage-unit-files policy implies systemd1.manage-units 2018-05-18 00:02:58 +09:00
org.freedesktop.systemd1.service Add SPDX license headers to various assorted files 2017-11-19 19:08:15 +01:00
path.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
path.h core: undo the dependency inversion between unit.h and all unit types 2018-05-15 14:24:34 -04:00
scope.c core: enforce that scope units can be started only once 2018-04-27 21:52:45 +02:00
scope.h core: undo the dependency inversion between unit.h and all unit types 2018-05-15 14:24:34 -04:00
selinux-access.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
selinux-access.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
selinux-setup.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
selinux-setup.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
service.c service: FileDescriptorStoreMax should also imply NotifyAccess 2018-05-15 12:33:56 +02:00
service.h core: undo the dependency inversion between unit.h and all unit types 2018-05-15 14:24:34 -04:00
show-status.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
show-status.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
shutdown.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
slice.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
slice.h core: undo the dependency inversion between unit.h and all unit types 2018-05-15 14:24:34 -04:00
smack-setup.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
smack-setup.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
socket.c Rename ratelimit_test to ratelimit_below 2018-05-13 22:08:30 +02:00
socket.h core: undo the dependency inversion between unit.h and all unit types 2018-05-15 14:24:34 -04:00
swap.c core: undo the dependency inversion between unit.h and all unit types 2018-05-15 14:24:34 -04:00
swap.h core: undo the dependency inversion between unit.h and all unit types 2018-05-15 14:24:34 -04:00
system.conf.in main: add NoNewPrivileges config option (#8475) 2018-03-21 23:41:19 +01:00
systemd.pc.in build-sys: make the dynamic UID range, and the container UID range configurable 2017-12-06 12:55:37 +01:00
target.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
target.h core: undo the dependency inversion between unit.h and all unit types 2018-05-15 14:24:34 -04:00
timer.c tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
timer.h core: undo the dependency inversion between unit.h and all unit types 2018-05-15 14:24:34 -04:00
transaction.c tree-wide: drop spurious newlines (#8764) 2018-04-19 12:13:23 +02:00
transaction.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
triggers.systemd.in tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
umount.c tree-wide: drop redundant _cleanup_ macros (#8810) 2018-04-25 12:31:45 +02:00
umount.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
unit-printf.c Add %j/%J unit specifiers 2018-04-24 10:05:04 +02:00
unit-printf.h tree-wide: drop license boilerplate 2018-04-06 18:58:55 +02:00
unit.c Merge pull request #8981 from keszybz/ratelimit-and-dbus 2018-05-18 21:38:30 +02:00
unit.h core: undo the dependency inversion between unit.h and all unit types 2018-05-15 14:24:34 -04:00
user.conf core: rename StartLimitInterval= to StartLimitIntervalSec= 2016-04-29 16:27:48 +02:00