mirror of
https://github.com/troglobit/finit.git
synced 2026-10-14 10:19:36 +00:00
plugins: ignore PID file events for svc_t in setup/teardown/cleanup
An svc_t (service/sysv) that is in setup, teardown, or cleanup state must be ignored by the pidfile plugin for any events regarding PID files. E.g., a setup script for a sysv service may create a PID file to alert the system that a setup process for the service is running. Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
This commit is contained in:
2 files changed
+20
No files matched your search
@@ -80,6 +80,23 @@ static void pidfile_update_conds(char *dir, char *name, uint32_t mask)
|
||||
return;
|
||||
}
|
||||
|
||||
switch (svc->state) {
|
||||
case SVC_TEARDOWN_STATE:
|
||||
case SVC_CLEANUP_STATE:
|
||||
case SVC_SETUP_STATE:
|
||||
/*
|
||||
* E.g., a setup script for a container may run in lieu
|
||||
* of crun, trying to fetch a container image from the
|
||||
* network. This script may want to advertise its PID
|
||||
* to the system for clean and swift reboots.
|
||||
*/
|
||||
dbg("%s[%d]: ignoring any PID file changes in CLEANUP/TEARDOWN/SETUP",
|
||||
svc_ident(svc, NULL, 0), svc->pid);
|
||||
return;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
/* Service condistion to set/clear */
|
||||
mkcond(svc, cond, sizeof(cond));
|
||||
|
||||
|
||||
Reference in new issue
Block a user