Replaced unique_lock with lock_guard where possible
This commit is contained in:
parent
e9877639b2
commit
c14705c62b
2 changed files with 12 additions and 12 deletions
|
|
@ -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>();
|
||||||
|
|
|
||||||
|
|
@ -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);
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue