Current implementation of exec.post-stop creates a task at airupd/src/supervisor/task/cleanup_task.rs. This means stop_service() is returned before exec.post-stop is called, and then a task is created.
This causes implementations of some functions more complex, and exec.post-stop of oneshot services are never executed.
On failure it should create a new task to cleanup, and on retry it should create a new task by task_type of StartService. On StopService, it should be executed in-the-task, not creating a new task.
Current implementation of
exec.post-stop
creates a task atairupd/src/supervisor/task/cleanup_task.rs
. This meansstop_service()
is returned beforeexec.post-stop
is called, and then a task is created.This causes implementations of some functions more complex, and
exec.post-stop
ofoneshot
services are never executed.