core: add EnqueueMarkedJobs method to reload/restart marked units
We support two return types for methods that start jobs. EnqueueJob support the full-monty mode with affected jobs. I didn't do this here, since it seems unlikely to be used. In the common case there'd be a huge list of jobs and affected jobs. EnqueueMarkedJobs() just returns a list of jobs that we can wait upon. The name of the method is generic in case we decide to add something other than just reload/restart later on. When errors occur, resource errors are treated as fatal, but for other error types we queue up other jobs, and only return an error at the end. The assumption is that the caller will ignore the result error anyway, so it's better to try to reload/restart as much as possible.
This commit is contained in:
@@ -176,6 +176,7 @@ node /org/freedesktop/systemd1 {
|
||||
UnsetEnvironment(in as names);
|
||||
UnsetAndSetEnvironment(in as names,
|
||||
in as assignments);
|
||||
EnqueueMarkedJobs(out ao jobs);
|
||||
ListUnitFiles(out a(ss) unit_files);
|
||||
ListUnitFilesByPatterns(in as states,
|
||||
in as patterns,
|
||||
@@ -848,6 +849,8 @@ node /org/freedesktop/systemd1 {
|
||||
|
||||
<variablelist class="dbus-method" generated="True" extra-ref="UnsetAndSetEnvironment()"/>
|
||||
|
||||
<variablelist class="dbus-method" generated="True" extra-ref="EnqueueMarkedJobs()"/>
|
||||
|
||||
<variablelist class="dbus-method" generated="True" extra-ref="ListUnitFiles()"/>
|
||||
|
||||
<variablelist class="dbus-method" generated="True" extra-ref="ListUnitFilesByPatterns()"/>
|
||||
@@ -1171,6 +1174,11 @@ node /org/freedesktop/systemd1 {
|
||||
the "Try" flavor is used in which case a service that isn't running is not affected by the restart. The
|
||||
"ReloadOrRestart" flavors attempt a reload if the unit supports it and use a restart otherwise.</para>
|
||||
|
||||
<para><function>EnqueueMarkedJobs()</function> creates reload/restart jobs for units which have been
|
||||
appropriately marked, see <varname>Marks</varname> property above. This is equivalent to calling
|
||||
<function>TryRestartUnit()</function> or <function>ReloadOrTryRestartUnit()</function> for the marked
|
||||
units.</para>
|
||||
|
||||
<para><function>BindMountUnit()</function> can be used to bind mount new files or directories into
|
||||
a running service mount namespace.</para>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user