diff --git a/src/finit.c b/src/finit.c index 2d02b369..71272882 100644 --- a/src/finit.c +++ b/src/finit.c @@ -481,6 +481,9 @@ int main(int argc, char* argv[]) api_init(&loop); umask(022); + /* Finalize bootstrap, allow service/run/tasks to complete */ + service_step_all(SVC_TYPE_ANY); + /* * Wait for all SVC_TYPE_RUNTASK to have completed their work in * [S], or timeout, before calling finalize() diff --git a/src/service.c b/src/service.c index 097837da..13b85609 100644 --- a/src/service.c +++ b/src/service.c @@ -1267,6 +1267,9 @@ void service_bootstrap_cb(uev_t *w, void *arg, int events) static int cnt = 120; void (*finalize)(void) = arg; + _d("Step all services ..."); + service_step_all(SVC_TYPE_ANY); + _d("Checking completion of all run/task ... %d", cnt); if (cnt-- > 0 && !service_runtask_completed(!runlevel)) return;