mirror of
https://github.com/systemd/systemd-stable.git
synced 2025-02-26 09:57:26 +03:00
Merge pull request #18009 from poettering/time-set-sync-target
tweaks for time-sync.target and time-set.target
This commit is contained in:
commit
ee672fd30b
@ -81,10 +81,12 @@
|
||||
units involved with early boot or late system shutdown should disable the
|
||||
<varname>DefaultDependencies=</varname> option.</para></listitem>
|
||||
|
||||
<listitem><para>Timer units
|
||||
with at least one <varname>OnCalendar=</varname> directive will have an additional <varname>After=</varname>
|
||||
dependency on <filename>time-sync.target</filename> to avoid being started before the system clock has been
|
||||
correctly set.</para></listitem>
|
||||
<listitem><para>Timer units with at least one <varname>OnCalendar=</varname> directive acquire a pair
|
||||
of additional <varname>After=</varname> dependencies on <filename>time-set.target</filename> and
|
||||
<filename>time-sync.target</filename>, in order to avoid being started before the system clock has
|
||||
been correctly set. See
|
||||
<citerefentry><refentrytitle>systemd.special</refentrytitle><manvolnum>7</manvolnum></citerefentry>
|
||||
for details on these two targets.</para></listitem>
|
||||
</itemizedlist>
|
||||
</refsect2>
|
||||
</refsect1>
|
||||
|
@ -42,6 +42,7 @@
|
||||
#define SPECIAL_SWAP_TARGET "swap.target"
|
||||
#define SPECIAL_NETWORK_ONLINE_TARGET "network-online.target"
|
||||
#define SPECIAL_TIME_SYNC_TARGET "time-sync.target" /* LSB's $time */
|
||||
#define SPECIAL_TIME_SET_TARGET "time-set.target"
|
||||
#define SPECIAL_BASIC_TARGET "basic.target"
|
||||
|
||||
/* LSB compatibility */
|
||||
|
@ -99,13 +99,20 @@ static int timer_add_default_dependencies(Timer *t) {
|
||||
if (r < 0)
|
||||
return r;
|
||||
|
||||
LIST_FOREACH(value, v, t->values)
|
||||
if (v->base == TIMER_CALENDAR) {
|
||||
r = unit_add_dependency_by_name(UNIT(t), UNIT_AFTER, SPECIAL_TIME_SYNC_TARGET, true, UNIT_DEPENDENCY_DEFAULT);
|
||||
LIST_FOREACH(value, v, t->values) {
|
||||
const char *target;
|
||||
|
||||
if (v->base != TIMER_CALENDAR)
|
||||
continue;
|
||||
|
||||
FOREACH_STRING(target, SPECIAL_TIME_SYNC_TARGET, SPECIAL_TIME_SET_TARGET) {
|
||||
r = unit_add_dependency_by_name(UNIT(t), UNIT_AFTER, target, true, UNIT_DEPENDENCY_DEFAULT);
|
||||
if (r < 0)
|
||||
return r;
|
||||
break;
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return unit_add_two_dependencies_by_name(UNIT(t), UNIT_BEFORE, UNIT_CONFLICTS, SPECIAL_SHUTDOWN_TARGET, true, UNIT_DEPENDENCY_DEFAULT);
|
||||
|
@ -16,7 +16,7 @@ DefaultDependencies=no
|
||||
After=systemd-sysusers.service
|
||||
Before=time-set.target sysinit.target shutdown.target
|
||||
Conflicts=shutdown.target
|
||||
Wants=time-set.target time-sync.target
|
||||
Wants=time-set.target
|
||||
|
||||
[Service]
|
||||
AmbientCapabilities=CAP_SYS_TIME
|
||||
|
Loading…
x
Reference in New Issue
Block a user