diff --git a/src/servers/registrar/ShutdownProcess.cpp b/src/servers/registrar/ShutdownProcess.cpp index df5a7e2a63..6c120b6d7c 100644 --- a/src/servers/registrar/ShutdownProcess.cpp +++ b/src/servers/registrar/ShutdownProcess.cpp @@ -635,6 +635,11 @@ ShutdownProcess::~ShutdownProcess() // remove the application quit watcher fRoster->RemoveWatcher(this); + // If an error occurred (e.g. the shutdown process was cancelled), the + // roster should accept applications again. + if (fShutdownError != B_OK) + fRoster->SetShuttingDown(false); + // delete the internal event semaphore if (fInternalEventSemaphore >= 0) delete_sem(fInternalEventSemaphore);