logfile = ...
options = ...
depends-on = (service name)
+depends-ms = (service name)
waits-for = (service name)
command = (external script or executable, and arguments)
executed until the named service has started. If the named service is
stopped then this service will also be stopped.
+depends-ms = (service name)
+ Indicates a "milestone dependency" on the named service. This service
+ requires the named service to start before it starts itself. Once the
+ named service has started, it remains active due to the dependency, but if
+ it stops for any reason then the dependency link is broken until the next
+ time this service is started.
+
waits-for = (service name)
When this service is started, wait for the named service to finish
starting (or to fail starting) before commencing the start procedure
until the named service has started. If the named service is stopped then
this service will also be stopped.
.TP
+\fBdepends-ms\fR = \fIservice-name\fR
+This service has a "milestone" dependcy on the named service. Starting this
+service will start the named service; the command to start this service will
+not be executed until the named service has started. If the named service is
+stopped then the dependency is dropped until this service is next started.
+.TP
\fBwaits-for\fR = \fIservice-name\fR
When this service is started, wait for the named service to finish starting
(or to fail starting) before commencing the start procedure for this service.
string dependency_name = read_setting_value(i, end);
depends.emplace_back(load_service(dependency_name.c_str()), dependency_type::REGULAR);
}
+ else if (setting == "depends-ms") {
+ string dependency_name = read_setting_value(i, end);
+ depends.emplace_back(load_service(dependency_name.c_str()), dependency_type::MILESTONE);
+ }
else if (setting == "waits-for") {
string dependency_name = read_setting_value(i, end);
depends.emplace_back(load_service(dependency_name.c_str()), dependency_type::WAITS_FOR);