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; ++concurrent_synchronous_requests;
} }
io_service->run(); 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; --concurrent_synchronous_requests;
if(!concurrent_synchronous_requests) if(!concurrent_synchronous_requests)
io_service->reset(); 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; ++concurrent_synchronous_requests;
} }
io_service->run(); 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; --concurrent_synchronous_requests;
if(!concurrent_synchronous_requests) if(!concurrent_synchronous_requests)
io_service->reset(); 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_)); 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) { 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; connection->in_use = false;
// Remove unused connections, but keep one open for HTTP persistent connection: // 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_)); 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) { 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; connection->in_use = false;
// Remove unused connections, but keep one open for HTTP persistent connection: // Remove unused connections, but keep one open for HTTP persistent connection:
@ -342,7 +342,7 @@ namespace SimpleWeb {
/// Close connections /// Close connections
void stop() noexcept { 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();) { for(auto it = connections.begin(); it != connections.end();) {
error_code ec; error_code ec;
(*it)->socket->lowest_layer().cancel(ec); (*it)->socket->lowest_layer().cancel(ec);
@ -380,7 +380,7 @@ namespace SimpleWeb {
std::shared_ptr<Connection> get_connection() noexcept { std::shared_ptr<Connection> get_connection() noexcept {
std::shared_ptr<Connection> connection; std::shared_ptr<Connection> connection;
std::unique_lock<std::mutex> lock(connections_mutex); std::lock_guard<std::mutex> lock(connections_mutex);
if(!io_service) { if(!io_service) {
io_service = std::make_shared<asio::io_service>(); io_service = std::make_shared<asio::io_service>();

View file

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