Replaced unique_lock with lock_guard where possible

This commit is contained in:
eidheim 2019-03-08 12:54:56 +01:00
commit c14705c62b
2 changed files with 12 additions and 12 deletions

View file

@ -170,12 +170,12 @@ namespace SimpleWeb {
});
{
std::unique_lock<std::mutex> lock(concurrent_synchronous_requests_mutex);
std::lock_guard<std::mutex> lock(concurrent_synchronous_requests_mutex);
++concurrent_synchronous_requests;
}
io_service->run();
{
std::unique_lock<std::mutex> lock(concurrent_synchronous_requests_mutex);
std::lock_guard<std::mutex> lock(concurrent_synchronous_requests_mutex);
--concurrent_synchronous_requests;
if(!concurrent_synchronous_requests)
io_service->reset();
@ -200,12 +200,12 @@ namespace SimpleWeb {
});
{
std::unique_lock<std::mutex> lock(concurrent_synchronous_requests_mutex);
std::lock_guard<std::mutex> lock(concurrent_synchronous_requests_mutex);
++concurrent_synchronous_requests;
}
io_service->run();
{
std::unique_lock<std::mutex> lock(concurrent_synchronous_requests_mutex);
std::lock_guard<std::mutex> lock(concurrent_synchronous_requests_mutex);
--concurrent_synchronous_requests;
if(!concurrent_synchronous_requests)
io_service->reset();
@ -226,7 +226,7 @@ namespace SimpleWeb {
auto request_callback = std::make_shared<std::function<void(std::shared_ptr<Response>, const error_code &)>>(std::move(request_callback_));
session->callback = [this, response, request_callback](const std::shared_ptr<Connection> &connection, const error_code &ec) {
{
std::unique_lock<std::mutex> lock(this->connections_mutex);
std::lock_guard<std::mutex> lock(this->connections_mutex);
connection->in_use = false;
// Remove unused connections, but keep one open for HTTP persistent connection:
@ -291,7 +291,7 @@ namespace SimpleWeb {
auto request_callback = std::make_shared<std::function<void(std::shared_ptr<Response>, const error_code &)>>(std::move(request_callback_));
session->callback = [this, response, request_callback](const std::shared_ptr<Connection> &connection, const error_code &ec) {
{
std::unique_lock<std::mutex> lock(this->connections_mutex);
std::lock_guard<std::mutex> lock(this->connections_mutex);
connection->in_use = false;
// Remove unused connections, but keep one open for HTTP persistent connection:
@ -342,7 +342,7 @@ namespace SimpleWeb {
/// Close connections
void stop() noexcept {
std::unique_lock<std::mutex> lock(connections_mutex);
std::lock_guard<std::mutex> lock(connections_mutex);
for(auto it = connections.begin(); it != connections.end();) {
error_code ec;
(*it)->socket->lowest_layer().cancel(ec);
@ -380,7 +380,7 @@ namespace SimpleWeb {
std::shared_ptr<Connection> get_connection() noexcept {
std::shared_ptr<Connection> connection;
std::unique_lock<std::mutex> lock(connections_mutex);
std::lock_guard<std::mutex> lock(connections_mutex);
if(!io_service) {
io_service = std::make_shared<asio::io_service>();

View file

@ -457,7 +457,7 @@ namespace SimpleWeb {
acceptor->close(ec);
{
std::unique_lock<std::mutex> lock(*connections_mutex);
std::lock_guard<std::mutex> lock(*connections_mutex);
for(auto &connection : *connections)
connection->close();
connections->clear();
@ -495,7 +495,7 @@ namespace SimpleWeb {
auto connections_mutex = this->connections_mutex;
auto connection = std::shared_ptr<Connection>(new Connection(handler_runner, std::forward<Args>(args)...), [connections, connections_mutex](Connection *connection) {
{
std::unique_lock<std::mutex> lock(*connections_mutex);
std::lock_guard<std::mutex> lock(*connections_mutex);
auto it = connections->find(connection);
if(it != connections->end())
connections->erase(it);
@ -503,7 +503,7 @@ namespace SimpleWeb {
delete connection;
});
{
std::unique_lock<std::mutex> lock(*connections_mutex);
std::lock_guard<std::mutex> lock(*connections_mutex);
connections->emplace(connection.get());
}
return connection;
@ -683,7 +683,7 @@ namespace SimpleWeb {
if(it != session->request->header.end()) {
// remove connection from connections
{
std::unique_lock<std::mutex> lock(*connections_mutex);
std::lock_guard<std::mutex> lock(*connections_mutex);
auto it = connections->find(session->connection.get());
if(it != connections->end())
connections->erase(it);