aboutsummaryrefslogtreecommitdiffstats
path: root/src/inspircd.cpp
diff options
context:
space:
mode:
authorGravatar Peter Powell2019-02-05 17:26:19 +0000
committerGravatar Peter Powell2019-02-05 17:26:19 +0000
commit01451ab26ef427267effead17d526d2b20fd3e8b (patch)
treeb90c0611b7abc8756d1720ae9f9f1bc40df4f47a /src/inspircd.cpp
parentDelete the old broken test suite. (diff)
downloadinspircd++-01451ab26ef427267effead17d526d2b20fd3e8b.tar.gz
inspircd++-01451ab26ef427267effead17d526d2b20fd3e8b.tar.bz2
inspircd++-01451ab26ef427267effead17d526d2b20fd3e8b.zip
Quit users during cleanup instead of when /DIE is executed.
Diffstat (limited to 'src/inspircd.cpp')
-rw-r--r--src/inspircd.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/inspircd.cpp b/src/inspircd.cpp
index 94132cf95..b6c252104 100644
--- a/src/inspircd.cpp
+++ b/src/inspircd.cpp
@@ -94,6 +94,12 @@ void InspIRCd::Cleanup()
}
ports.clear();
+ // Disconnect all local users
+ const std::string quitmsg = "Server shutting down";
+ const UserManager::LocalList& list = Users.GetLocalUsers();
+ while (!list.empty())
+ ServerInstance->Users.QuitUser(list.front(), quitmsg);
+
GlobalCulls.Apply();
Modules->UnloadAll();