Minor cleanup in send_from_queue

This commit is contained in:
eidheim 2019-06-03 12:12:33 +02:00
commit 3fcf628657

View file

@ -77,7 +77,8 @@ namespace SimpleWeb {
auto lock = self->session->connection->handler_runner->continue_lock(); auto lock = self->session->connection->handler_runner->continue_lock();
if(!lock) if(!lock)
return; return;
std::unique_lock<std::mutex> send_queue_lock(self->send_queue_mutex); {
std::unique_lock<std::mutex> lock(self->send_queue_mutex);
if(!ec) { if(!ec) {
auto it = self->send_queue.begin(); auto it = self->send_queue.begin();
auto callback = std::move(it->second); auto callback = std::move(it->second);
@ -85,7 +86,7 @@ namespace SimpleWeb {
if(self->send_queue.size() > 0) if(self->send_queue.size() > 0)
self->send_from_queue(); self->send_from_queue();
send_queue_lock.unlock(); lock.unlock();
if(callback) if(callback)
callback(ec); callback(ec);
} }
@ -98,10 +99,11 @@ namespace SimpleWeb {
} }
self->send_queue.clear(); self->send_queue.clear();
send_queue_lock.unlock(); lock.unlock();
for(auto &callback : callbacks) for(auto &callback : callbacks)
callback(ec); callback(ec);
} }
}
}); });
} }