Systemd/src
Lennart Poettering a3c1168ac2 core: rework StopWhenUnneeded= logic
Previously, we'd act immediately on StopWhenUnneeded= when a unit state
changes. With this rework we'll maintain a queue instead: whenever
there's the chance that StopWhenUneeded= might have an effect we enqueue
the unit, and process it later when we have nothing better to do.

This should make the implementation a bit more reliable, as the unit notify event
cannot immediately enqueue tons of side-effect jobs that might
contradict each other, but we do so only in a strictly ordered fashion,
from the main event loop.

This slightly changes the check when to consider a unit "unneeded".
Previously, we'd assume that a unit in "deactivating" state could also
be cleaned up. With this new logic we'll only consider units unneeded
that are fully up and have no job queued. This means that whenever
there's something pending for a unit we won't clean it up.
2018-08-10 16:19:01 +02:00
..
ac-power tree-wide: remove Lennart's copyright lines 2018-06-14 10:20:20 +02:00
activate Drop my copyright headers 2018-06-14 13:03:20 +02:00
analyze tree-wide: shorten error logging a bit 2018-08-07 10:14:33 +09:00
ask-password tree-wide: remove Lennart's copyright lines 2018-06-14 10:20:20 +02:00
backlight tree-wide: remove Lennart's copyright lines 2018-06-14 10:20:20 +02:00
basic util: bind_remount_recursive_with_mountinfo(): ignore submounts which cannot be accessed 2018-08-10 14:30:55 +09:00
binfmt tree-wide: remove Lennart's copyright lines 2018-06-14 10:20:20 +02:00
boot meson: drop parens when appending to list 2018-07-31 21:02:01 +09:00
busctl busctl: make parameter const 2018-06-25 18:26:17 +02:00
cgls tree-wide: remove Lennart's copyright lines 2018-06-14 10:20:20 +02:00
cgroups-agent tree-wide: remove Lennart's copyright lines 2018-06-14 10:20:20 +02:00
cgtop tree-wide: remove Lennart's copyright lines 2018-06-14 10:20:20 +02:00
core core: rework StopWhenUnneeded= logic 2018-08-10 16:19:01 +02:00
coredump coredumpctl: info shows the last entry by default 2018-07-23 17:45:53 +02:00
cryptsetup cryptsetup: Add dependency on loopback setup to generated units 2018-06-27 16:57:17 +02:00
debug-generator tree-wide: remove Lennart's copyright lines 2018-06-14 10:20:20 +02:00
delta Drop my copyright headers 2018-06-14 13:03:20 +02:00
detect-virt tree-wide: remove Lennart's copyright lines 2018-06-14 10:20:20 +02:00
dissect tree-wide: remove Lennart's copyright lines 2018-06-14 10:20:20 +02:00
environment-d-generator Drop my copyright headers 2018-06-14 13:03:20 +02:00
escape Drop some more copyright headers 2018-07-24 11:16:01 +02:00
firstboot tree-wide: use instead of #ifdef for HAVE_* 2018-06-29 11:40:15 +02:00
fsck tree-wide: beautify remaining copyright statements 2018-06-14 10:20:21 +02:00
fstab-generator tree-wide: remove Lennart's copyright lines 2018-06-14 10:20:20 +02:00
fuzz tree-wide: add multiple inclusion guard 2018-06-25 13:04:59 +09:00
getty-generator tree-wide: remove Lennart's copyright lines 2018-06-14 10:20:20 +02:00
gpt-auto-generator tree-wide: remove Lennart's copyright lines 2018-06-14 10:20:20 +02:00
hibernate-resume tree-wide: drop copyright headers from frequent contributors 2018-06-20 11:58:53 +02:00
hostname tree-wide: shorten error logging a bit 2018-08-07 10:14:33 +09:00
hwdb tree-wide: drop copyright headers from frequent contributors 2018-06-20 11:58:53 +02:00
import tree-wide: port various bits over to open_parent() 2018-07-23 13:38:18 +02:00
initctl initctl: do not ignore errors in function 2018-08-07 10:06:49 +09:00
journal journal: do not remove multiple spaces after identifier in syslog message 2018-08-10 10:31:29 +03:00
journal-remote Merge pull request #9422 from yuwata/conf-files 2018-06-28 10:17:54 +02:00
kernel-install kernel-install: don't try to run depmod when kernel doesn't support modules 2018-08-08 10:42:04 +02:00
libsystemd tree-wide: use returned value from log_*_errno() 2018-08-07 15:48:37 +09:00
libsystemd-network tree-wide: Convert compare_func's to use CMP() macro wherever possible. 2018-08-06 19:26:35 -07:00
libudev tree-wide: drop double newline 2018-06-29 11:02:17 +09:00
locale tree-wide: shorten error logging a bit 2018-08-07 10:14:33 +09:00
login tree-wide: shorten error logging a bit 2018-08-07 10:14:33 +09:00
machine tree-wide: shorten error logging a bit 2018-08-07 10:14:33 +09:00
machine-id-setup tree-wide: remove Lennart's copyright lines 2018-06-14 10:20:20 +02:00
modules-load udev-builtin-kmod: use the generic module_load() function 2018-07-19 18:28:21 +02:00
mount mount: do not output (null) in option 2018-06-19 08:27:47 +02:00
network Merge pull request #9817 from yuwata/shorten-error-logging 2018-08-07 10:44:44 +02:00
notify tree-wide: remove Lennart's copyright lines 2018-06-14 10:20:20 +02:00
nspawn tree-wide: shorten error logging a bit 2018-08-07 10:14:33 +09:00
nss-myhostname nss: do not modify errno when NSS_STATUS_NOTFOUND or NSS_STATUS_SUCCESS 2018-07-25 10:23:22 +02:00
nss-mymachines Merge pull request #9504 from poettering/nss-deadlock 2018-07-26 10:16:25 +02:00
nss-resolve Merge pull request #9504 from poettering/nss-deadlock 2018-07-26 10:16:25 +02:00
nss-systemd nss: do not modify errno when NSS_STATUS_NOTFOUND or NSS_STATUS_SUCCESS 2018-07-25 10:23:22 +02:00
partition growfs: make global variables that don't need to be exported static 2018-07-20 16:57:35 +02:00
path tree-wide: remove Lennart's copyright lines 2018-06-14 10:20:20 +02:00
portable tree-wide: drop empty lines in comments 2018-07-23 08:44:24 +02:00
quotacheck tree-wide: remove Lennart's copyright lines 2018-06-14 10:20:20 +02:00
random-seed tree-wide: remove Lennart's copyright lines 2018-06-14 10:20:20 +02:00
rc-local-generator tree-wide: drop copyright headers from frequent contributors 2018-06-20 11:58:53 +02:00
remount-fs tree-wide: remove Lennart's copyright lines 2018-06-14 10:20:20 +02:00
reply-password tree-wide: remove Lennart's copyright lines 2018-06-14 10:20:20 +02:00
resolve Merge pull request #9827 from yuwata/fix-9795-9820 2018-08-08 14:07:40 +02:00
rfkill tree-wide: remove Lennart's copyright lines 2018-06-14 10:20:20 +02:00
run tree-wide: shorten error logging a bit 2018-08-07 10:14:33 +09:00
shared Merge pull request #9817 from yuwata/shorten-error-logging 2018-08-07 10:44:44 +02:00
sleep sleep: tiny coding style updates 2018-07-17 21:41:56 +02:00
socket-proxy tree-wide: drop copyright lines for more authors 2018-06-22 16:39:45 +02:00
stdio-bridge tree-wide: remove Lennart's copyright lines 2018-06-14 10:20:20 +02:00
sulogin-shell tree-wide: shorten error logging a bit 2018-08-07 10:14:33 +09:00
sysctl tree-wide: remove Lennart's copyright lines 2018-06-14 10:20:20 +02:00
system-update-generator Correct a number of trivial typos. 2018-06-18 22:44:44 +02:00
systemctl systemctl: add support for --wait to is-system-running 2018-08-07 09:33:25 +02:00
systemd sd-bus: make BUS_DEFAULT_TIMEOUT configurable 2018-07-16 15:11:50 +02:00
sysusers Merge pull request #9274 from poettering/comment-header-cleanup 2018-06-14 11:26:50 +02:00
sysv-generator tree-wide: drop copyright headers from frequent contributors 2018-06-20 11:58:53 +02:00
test test: cast values in proper type to suppress warnings 2018-08-07 15:40:16 +02:00
time-wait-sync tree-wide: drop empty lines in comments 2018-07-23 08:44:24 +02:00
timedate timedate: emit property changed signal after all jobs are completed 2018-08-08 14:32:28 +02:00
timesync timesync: voidify sd_event_add_signal() and sd_event_set_watchdog() 2018-07-20 11:30:11 +09:00
tmpfiles tmpfiles: don't adjust qgroups on existing subvolumes 2018-08-08 12:37:35 +02:00
tty-ask-password-agent tree-wide: beautify remaining copyright statements 2018-06-14 10:20:21 +02:00
udev link: fix type for link-config's "features" array of tristates 2018-08-07 15:40:39 +02:00
update-done tree-wide: remove Lennart's copyright lines 2018-06-14 10:20:20 +02:00
update-utmp tree-wide: remove Lennart's copyright lines 2018-06-14 10:20:20 +02:00
user-sessions tree-wide: remove Lennart's copyright lines 2018-06-14 10:20:20 +02:00
vconsole tree-wide: drop copyright headers from frequent contributors 2018-06-20 11:58:53 +02:00
veritysetup tree-wide: remove Lennart's copyright lines 2018-06-14 10:20:20 +02:00
volatile-root tree-wide: remove Lennart's copyright lines 2018-06-14 10:20:20 +02:00