supervise-daemon: make the pidfile an implementation detail
The pidfile of the supervisor doesn't need to be adjustable by the service script. It is only used so the supervisor can stop itself when the --stop option is used.
This commit is contained in:
@@ -766,7 +766,7 @@ int main(int argc, char **argv)
|
||||
break;
|
||||
|
||||
case 'p': /* --pidfile <pid-file> */
|
||||
pidfile = optarg;
|
||||
ewarn("%s: --pidfile is deprecated and will be removed", applet);
|
||||
break;
|
||||
|
||||
case 'R': /* --retry <schedule>|timeout */
|
||||
@@ -830,8 +830,6 @@ int main(int argc, char **argv)
|
||||
case_RC_COMMON_GETOPT
|
||||
}
|
||||
|
||||
if (!pidfile && !reexec)
|
||||
eerrorx("%s: --pidfile must be specified", applet);
|
||||
endpwent();
|
||||
argc -= optind;
|
||||
argv += optind;
|
||||
@@ -844,6 +842,7 @@ int main(int argc, char **argv)
|
||||
ch_root = expand_home(home, ch_root);
|
||||
|
||||
umask(numask);
|
||||
xasprintf(&pidfile, "/var/run/supervise-%s.pid", svcname);
|
||||
|
||||
if (reexec) {
|
||||
str = rc_service_value_get(svcname, "argc");
|
||||
@@ -862,7 +861,6 @@ int main(int argc, char **argv)
|
||||
sscanf(str, "%d", &child_pid);
|
||||
free(str);
|
||||
exec = rc_service_value_get(svcname, "exec");
|
||||
pidfile = rc_service_value_get(svcname, "pidfile");
|
||||
retry = rc_service_value_get(svcname, "retry");
|
||||
if (retry) {
|
||||
parse_schedule(applet, retry, sig);
|
||||
@@ -944,7 +942,6 @@ int main(int argc, char **argv)
|
||||
eerrorx("%s: fopen `%s': %s", applet, pidfile, strerror(errno));
|
||||
fclose(fp);
|
||||
|
||||
rc_service_value_set(svcname, "pidfile", pidfile);
|
||||
varbuf = NULL;
|
||||
xasprintf(&varbuf, "%i", respawn_delay);
|
||||
rc_service_value_set(svcname, "respawn_delay", varbuf);
|
||||
|
Reference in New Issue
Block a user