--- a/src/Cedar/Session.c 2026-06-04 18:43:24.747504226 +0530 +++ b/src/Cedar/Session.c 2026-06-04 18:43:24.753504227 +0530 @@ -1789,6 +1789,14 @@ Debug("Session Halt.\n"); + + // Exit process when a startup account disconnects. + // Lets systemd restart the service for a clean reconnect + DHCP. + if (s->Account != NULL && s->Account->StartupAccount) + { + Print("Startup account \"%s\" disconnected. Exiting.\n", s->Account->ClientOption->AccountName); + _exit(1); + } s->ClientStatus = CLIENT_STATUS_IDLE; // Regard as that the session is ended here