diff options
| author | namilsk <namilsk@namilsk.tech> | 2026-03-23 23:36:10 +0300 |
|---|---|---|
| committer | namilsk <namilsk@namilsk.tech> | 2026-03-23 23:36:10 +0300 |
| commit | 91a7400ad2c3b1edf63116ed9d05619b9bccf9b8 (patch) | |
| tree | 1f9b858b2a35e0f50d162b0f7f8a0c55afc6d18a /init/src/signals | |
| parent | b78dd23f021c7f4ec3604e6bb8b44765dab7d68e (diff) | |
Diffstat (limited to 'init/src/signals')
| -rw-r--r-- | init/src/signals/sigterm.rs | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/init/src/signals/sigterm.rs b/init/src/signals/sigterm.rs index 97a3da7..cc59491 100644 --- a/init/src/signals/sigterm.rs +++ b/init/src/signals/sigterm.rs @@ -1,4 +1,5 @@ use crate::log::log_warning; +use crate::services::units::stop_all_services; use libc::{ SA_RESTART, SA_SIGINFO, SIGINT, SIGTERM, SIGUSR1, SIGUSR2, WNOHANG, c_int, sigaction, @@ -89,6 +90,9 @@ pub fn setup_signal_handlers() -> Result<(), Box<dyn std::error::Error>> { pub fn graceful_shutdown() -> Result<(), Box<dyn std::error::Error>> { log_warning("Graceful shutdown initiated..."); + // Stop all services first + let _ = stop_all_services(); + // Reap all remaining children loop { let mut status: c_int = 0; |
