Consider a service dirty if the command line args have changed
This fixes `initctl reload` correctly restarting all daemons that have new
command line arguments.
Previously command line arguments changes were only acted upon if the
service was explicitly reloaded `initctl reload myservice`.
@@ -1666,7 +1666,7 @@ int service_register(int type, char *cfg, struct rlimit rlimit[], char *file)
parse_cgroup(svc, cgroup);
/* New, recently modified or unchanged ... used on reload. */
- if ((file && conf_changed(file)) || conf_changed(svc_getenv(svc)))
+ if ((file && conf_changed(file)) || conf_changed(svc_getenv(svc)) || svc->args_dirty)
svc_mark_dirty(svc);
else
svc_mark_clean(svc);
