Merge pull request #11608 from taro-yamada/add_persistent_randmized_delay

core: add "Persistent=delay" to delay persistent timers after boot
This commit is contained in:
Lennart Poettering 2019-02-21 15:15:37 +01:00 committed by GitHub
commit 9fa326b18a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -380,6 +380,13 @@ static void timer_enter_waiting(Timer *t, bool time_change) {
if (r < 0)
continue;
/* To make the delay due to RandomizedDelaySec= work even at boot,
* if the scheduled time has already passed, set the time when systemd
* first started as the scheduled time.
* Also, we don't have to check t->persistent since the logic implicitly express true. */
if (v->next_elapse < UNIT(t)->manager->timestamps[MANAGER_TIMESTAMP_USERSPACE].realtime)
v->next_elapse = UNIT(t)->manager->timestamps[MANAGER_TIMESTAMP_USERSPACE].realtime;
if (!found_realtime)
t->next_elapse_realtime = v->next_elapse;
else