Reload the systemd daemon at the right time.

This commit is contained in:
R-VdP 2023-02-10 11:19:10 +00:00
parent 49f92dd6b8
commit b758c270c7
No known key found for this signature in database

View file

@ -69,9 +69,16 @@ pub fn activate(store_path: StorePath) -> Result<()> {
let service_manager = systemd::ServiceManager::new_session()?; let service_manager = systemd::ServiceManager::new_session()?;
let timeout = Some(Duration::from_secs(30)); let timeout = Some(Duration::from_secs(30));
service_manager.daemon_reload()?; // We need to do this before we reload the systemd daemon, so that the daemon
// still knows about these units.
stop_services(&service_manager, &services_to_stop, &timeout)?; stop_services(&service_manager, &services_to_stop, &timeout)?;
unlink_services(&services_to_stop)?; unlink_services(&services_to_stop)?;
// We added all new services and removed old ones, so let's reload the units
// to tell systemd about them.
log::info!("Reloading the systemd daemon...");
service_manager.daemon_reload()?;
start_services(&service_manager, &linked_services, &timeout)?; start_services(&service_manager, &linked_services, &timeout)?;
log::info!("Done"); log::info!("Done");