All handlers in send queue is now called on error

This commit is contained in:
eidheim 2018-07-11 08:41:33 +02:00
commit 0ae69bffb1

View file

@ -95,16 +95,22 @@ namespace SimpleWeb {
auto lock = self->session->connection->handler_runner->continue_lock();
if(!lock)
return;
auto it = self->send_queue.begin();
if(it->second)
it->second(ec);
if(!ec) {
auto it = self->send_queue.begin();
if(it->second)
it->second(ec);
self->send_queue.erase(it);
if(self->send_queue.size() > 0)
self->send_from_queue();
}
else
else {
// All handlers in the queue is called with ec:
for(auto &pair : self->send_queue) {
if(pair.second)
pair.second(ec);
}
self->send_queue.clear();
}
}));
});
}