server close connection on stop()

This commit is contained in:
Michael Davidsaver
2020-02-29 16:46:46 -08:00
parent 20acafa963
commit 87c5aabc2f
2 changed files with 10 additions and 1 deletions
+8 -1
View File
@@ -401,9 +401,9 @@ void Server::Pvt::stop()
L->stop();
}
// stop accepting new TCP connections
acceptor_loop.call([this]()
{
// stop accepting new TCP connections
for(auto& iface : interfaces) {
if(evconnlistener_disable(iface.listener.get())) {
log_err_printf(serversetup, "Error disabling listener on %s\n", iface.name.c_str());
@@ -411,6 +411,13 @@ void Server::Pvt::stop()
log_debug_printf(serversetup, "Server disabled listener on %s\n", iface.name.c_str());
}
// close current TCP connections
auto conns = std::move(connections);
for(auto& pair : conns) {
pair.second->bev.reset();
pair.second->cleanup();
}
state = Stopped;
});
}