<citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>
for information how to enable this functionality and
<citerefentry><refentrytitle>sd_watchdog_enabled</refentrytitle><manvolnum>3</manvolnum></citerefentry>
- for the details of how the service can check whether the watchdog is enabled. </para></listitem>
+ for the details of how the service can check whether the watchdog is enabled.</para></listitem>
</varlistentry>
<varlistentry>
in time. Note that <varname>WatchdogSec=</varname> does not need to be enabled for
<literal>WATCHDOG=trigger</literal> to trigger the watchdog action. See
<citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>
- for information about the watchdog behavior. </para>
+ for information about the watchdog behavior.</para>
<xi:include href="version-info.xml" xpointer="v243"/></listitem>
</varlistentry>
<xi:include href="version-info.xml" xpointer="v236"/></listitem>
</varlistentry>
+ <varlistentry>
+ <term>RESTART_RESET=1</term>
+
+ <listitem><para>Reset the restart counter of the service, which has the effect of restoring
+ the restart duration to <varname>RestartSec=</varname> if <varname>RestartSteps=</varname> and
+ <varname>RestartMaxDelaySec=</varname> are in use. For more information, refer to
+ <citerefentry><refentrytitle>systemd.service</refentrytitle><manvolnum>5</manvolnum></citerefentry>.
+ </para>
+
+ <xi:include href="version-info.xml" xpointer="v258"/></listitem>
+ </varlistentry>
+
<varlistentry>
<term>FDSTORE=1</term>
service_override_watchdog_timeout(s, watchdog_override_usec);
}
+ /* Interpret RESTART_RESET=1 */
+ if (strv_contains(tags, "RESTART_RESET=1") && IN_SET(s->state, SERVICE_RUNNING, SERVICE_STOP)) {
+ log_unit_struct(u, LOG_NOTICE,
+ LOG_UNIT_MESSAGE(u, "Got RESTART_RESET=1, resetting restart counter from %u.", s->n_restarts),
+ "N_RESTARTS=0",
+ LOG_UNIT_INVOCATION_ID(u));
+
+ s->n_restarts = 0;
+ notify_dbus = true;
+ }
+
/* Process FD store messages. Either FDSTOREREMOVE=1 for removal, or FDSTORE=1 for addition. In both cases,
* process FDNAME= for picking the file descriptor name to use. Note that FDNAME= is required when removing
* fds, but optional when pushing in new fds, for compatibility reasons. */