diff --git a/src/core/manager.c b/src/core/manager.c index 971f01903c..1ee2228c89 100644 --- a/src/core/manager.c +++ b/src/core/manager.c @@ -2194,8 +2194,10 @@ int manager_startup(Manager *m, FILE *serialization, FDSet *fds, Hashmap *named_ m->soft_reboots_count++; /* If a LUO (Live Update Orchestrator) session from a previous kexec is available, restore - * preserved file descriptors into the appropriate service fd stores now, before coldplug. */ - (void) manager_luo_restore_fd_stores(m); + * preserved file descriptors into the appropriate service fd stores now, before coldplug. + * Only do this when booting up (i.e., skip on reexec/soft reboot/etc.) */ + if (m->previous_objective < 0) + (void) manager_luo_restore_fd_stores(m); /* Pick up fds passed via the LISTEN_FDS=/LISTEN_FDNAMES= protocol that are tagged with a * unit id ("unit-id|fdname"), and route them into the matching unit's fd store. Untagged