::stop now closes connections even though internal io_service is used

This commit is contained in:
eidheim 2017-07-12 10:03:52 +02:00
commit 3541dd7879
2 changed files with 8 additions and 9 deletions

View file

@ -360,10 +360,8 @@ namespace SimpleWeb {
void stop() {
std::unique_lock<std::mutex> lock(connections_mutex);
for(auto it = connections.begin(); it != connections.end();) {
if(!internal_io_service) {
(*it)->attempt_reconnect = false;
(*it)->close();
}
(*it)->attempt_reconnect = false;
(*it)->close();
it = connections.erase(it);
}
}

View file

@ -419,15 +419,16 @@ namespace SimpleWeb {
void stop() {
if(acceptor) {
acceptor->close();
if(internal_io_service)
io_service->stop();
std::unique_lock<std::mutex> lock(*connections_mutex);
if(!internal_io_service) {
{
std::unique_lock<std::mutex> lock(*connections_mutex);
for(auto &connection : *connections)
connection->close();
connections->clear();
}
connections->clear();
if(internal_io_service)
io_service->stop();
}
}