Systemd/src
Lennart Poettering 35aa04e9ed resolved: fix notification iteration logic when transactions are completed
When a transaction is complete, and we notify its owners, make sure we deal
correctly with the requesters removing themselves from the list of owners while
we continue iterating.

This was previously already dealt with with transactions that require other
transactions for DNSSEC purposes, fix this for other possibly transaction
owners too now.

Since iterating through "Set" objects is not safe regarding removal of entries
from it, rework the logic to use two Sets, and move each entry we notified from
one set to the other set before we dispatch the notification. This move operation
requires no additional memory, and enables us to ensure that we don't notify
any object twice.

Fixes: #2676
2016-02-22 23:24:47 +01:00
..
ac-power tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
activate activate: fix -E option parsing 2016-02-18 21:54:31 -05:00
analyze tree-wide: place #pragma once at the same place everywhere 2016-02-20 22:42:29 +01:00
ask-password tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
backlight tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
basic resolved: fix notification iteration logic when transactions are completed 2016-02-22 23:24:47 +01:00
binfmt tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
boot sd-boot: put hashed kernel command line in a PCR of the TPM 2016-02-11 17:48:09 +01:00
bootchart tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
cgls tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
cgroups-agent tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
cgtop tree-wide: make more global variables static 2016-02-13 12:28:28 +01:00
core core: exclude .slice units from "systemctl isolate" 2016-02-20 22:42:29 +01:00
coredump coredump: dump priviliges when processing system coredumps 2016-02-10 16:09:24 +01:00
cryptsetup tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
dbus1-generator tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
debug-generator tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
delta delta: minor coding style fixes 2016-02-11 16:25:54 +01:00
detect-virt tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
escape tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
firstboot tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
fsck tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
fstab-generator tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
getty-generator tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
gpt-auto-generator tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
hibernate-resume tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
hostname tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
hwdb tree-wide: expose "p"-suffix unref calls in public APIs to make gcc cleanup easy 2015-11-27 19:19:36 +01:00
import import: don't claim we had copied a settings file if we didn't 2016-02-21 20:40:57 +01:00
initctl tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
journal journal: defer journal closes on rotate 2016-02-19 18:50:20 -08:00
journal-remote Merge pull request #2685 from poettering/lldp-fixes2 2016-02-22 17:38:34 +01:00
kernel-install
libsystemd Merge pull request #2685 from poettering/lldp-fixes2 2016-02-22 17:38:34 +01:00
libsystemd-network sd-lldp: beef up callback logic 2016-02-21 20:58:59 +01:00
libudev tree-wide: place #pragma once at the same place everywhere 2016-02-20 22:42:29 +01:00
locale tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
login time-util: Rename and fix call of deserialize_timestamp_value() 2016-02-15 23:26:34 +01:00
machine Remove/add (un)needed includes 2016-02-18 23:34:30 +00:00
machine-id-setup tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
modules-load tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
network Merge pull request #2685 from poettering/lldp-fixes2 2016-02-22 17:38:34 +01:00
notify tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
nspawn Merge pull request #2589 from keszybz/resolve-tool-2 2016-02-13 11:15:41 +01:00
nss-myhostname tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
nss-mymachines nss-mymachines: never resolve unmapped UIDs/GIDs 2016-02-10 23:42:34 +01:00
nss-resolve tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
path tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
quotacheck tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
random-seed tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
rc-local-generator tree-wide: make more global variables static 2016-02-13 12:28:28 +01:00
remount-fs tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
reply-password tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
resolve resolved: fix notification iteration logic when transactions are completed 2016-02-22 23:24:47 +01:00
rfkill tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
run tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
shared tree-wide: place #pragma once at the same place everywhere 2016-02-20 22:42:29 +01:00
sleep tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
socket-proxy tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
stdio-bridge remove bus-proxyd 2016-02-12 19:10:01 +01:00
sysctl tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
system-update-generator tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
systemctl systemctl: fix style to avoid modification of array passed by caller 2016-02-15 19:06:53 -05:00
systemd sd-lldp: beef up callback logic 2016-02-21 20:58:59 +01:00
sysusers tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
sysv-generator tree-wide: make more global variables static 2016-02-13 12:28:28 +01:00
test calendarspec: fix find_next skipping times 2016-02-22 08:02:48 -05:00
timedate tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
timesync tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
tmpfiles tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
tty-ask-password-agent Merge pull request #2495 from heftig/master 2016-02-10 16:53:49 +01:00
udev Merge pull request #2685 from poettering/lldp-fixes2 2016-02-22 17:38:34 +01:00
update-done tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
update-utmp tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
user-sessions tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
vconsole tree-wide: remove Emacs lines from all files 2016-02-10 13:41:57 +01:00
.gitignore
Makefile