diff options
author | Leah Neukirchen <leah@vuxu.org> | 2023-12-25 03:01:23 +0100 |
---|---|---|
committer | Leah Neukirchen <leah@vuxu.org> | 2023-12-25 03:01:23 +0100 |
commit | 7223ba9fbbb8ae69e02c756042d24daedc6ea219 (patch) | |
tree | 6965b302f6a7db406d7cac1ee5def1e5c2990074 /nitro.c | |
parent | 2a27cbf8681e03642e974add4bb98f97e547bd67 (diff) | |
download | nitro-7223ba9fbbb8ae69e02c756042d24daedc6ea219.tar.gz nitro-7223ba9fbbb8ae69e02c756042d24daedc6ea219.tar.xz nitro-7223ba9fbbb8ae69e02c756042d24daedc6ea219.zip |
run finish scripts for oneshots
Diffstat (limited to 'nitro.c')
-rw-r--r-- | nitro.c | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/nitro.c b/nitro.c index b2862b7..80e006c 100644 --- a/nitro.c +++ b/nitro.c @@ -427,9 +427,12 @@ process_step(int i, enum process_events ev) proc_shutdown(i); break; + case PROC_ONESHOT: + proc_finish(i); + break; + case PROC_FATAL: case PROC_DELAY: - case PROC_ONESHOT: services[i].state = PROC_DOWN; services[i].timeout = 0; services[i].deadline = 0; @@ -454,9 +457,8 @@ process_step(int i, enum process_events ev) break; case PROC_ONESHOT: - services[i].state = PROC_DELAY; - services[i].timeout = 1000; - services[i].deadline = 0; + proc_finish(i); + services[i].state = PROC_RESTART; break; case PROC_DOWN: @@ -529,6 +531,7 @@ process_step(int i, enum process_events ev) proc_setup(i); break; + case PROC_ONESHOT: case PROC_SHUTDOWN: proc_cleanup(i); proc_zap(i); @@ -543,7 +546,6 @@ process_step(int i, enum process_events ev) case PROC_SETUP: /* can't happen */ case PROC_DOWN: /* can't happen */ case PROC_DELAY: /* can't happen */ - case PROC_ONESHOT: /* can't happen */ assert(!"invalid state transition"); break; } |