summaryrefslogtreecommitdiffstats
path: root/src/core/dbus-job.h
diff options
context:
space:
mode:
authorDaan De Meyer <daan.j.demeyer@gmail.com>2023-05-23 16:24:47 +0200
committerDaan De Meyer <daan.j.demeyer@gmail.com>2023-05-24 10:05:08 +0200
commit6546045fa0bf84737bd8b2e1e8bf7dd3941d8352 (patch)
tree8b5bd8361239b5ad983fbe14d00a3d262876d696 /src/core/dbus-job.h
parentsd-bus: refuse to send messages with an invalid string (diff)
downloadsystemd-6546045fa0bf84737bd8b2e1e8bf7dd3941d8352.tar.xz
systemd-6546045fa0bf84737bd8b2e1e8bf7dd3941d8352.zip
core/timer: Always use inactive_exit_timestamp if it is set
If we're doing a daemon-reload, we'll be going from TIMER_DEAD => TIMER_WAITING, so we won't use inactive_exit_timestamp because TIMER_DEAD != UNIT_ACTIVE, even though inactive_exit_timestamp is serialized/deserialized and will be valid after the daemon-reload. This issue can lead to timers never firing as we'll always calculate the next elapse based on the current realtime on daemon-reload, so if daemon-reload happens often enough, the elapse interval will be moved into the future every time, which means the timer will never trigger. To fix the issue, let's always use inactive_exit_timestamp if it is set, and only fall back to the current realtime if it is not set.
Diffstat (limited to 'src/core/dbus-job.h')
0 files changed, 0 insertions, 0 deletions