diff options
-rw-r--r-- | lib/Socket.cpp | 1 | ||||
-rw-r--r-- | lib/Socket.h | 2 | ||||
-rw-r--r-- | lib/ThreadsafeQueue.h | 2 |
3 files changed, 3 insertions, 2 deletions
diff --git a/lib/Socket.cpp b/lib/Socket.cpp index 5c920d7..33c9c73 100644 --- a/lib/Socket.cpp +++ b/lib/Socket.cpp @@ -1152,6 +1152,7 @@ void TCPDataDispatcher::process() std::vector<TCPConnection::stats_t> TCPDataDispatcher::get_stats() const { std::vector<TCPConnection::stats_t> s; + auto lock = unique_lock<mutex>(m_mutex); for (const auto& conn : m_connections) { s.push_back(conn.get_stats()); } diff --git a/lib/Socket.h b/lib/Socket.h index 29b618a..b9a40ee 100644 --- a/lib/Socket.h +++ b/lib/Socket.h @@ -298,7 +298,7 @@ class TCPDataDispatcher std::thread m_listener_thread; TCPSocket m_listener_socket; - std::mutex m_mutex; + mutable std::mutex m_mutex; std::deque<std::vector<uint8_t> > m_preroll_queue; std::list<TCPConnection> m_connections; }; diff --git a/lib/ThreadsafeQueue.h b/lib/ThreadsafeQueue.h index 13bc19e..a8d2e85 100644 --- a/lib/ThreadsafeQueue.h +++ b/lib/ThreadsafeQueue.h @@ -31,7 +31,7 @@ #include <functional> #include <mutex> #include <condition_variable> -#include <queue> +#include <deque> #include <utility> #include <cassert> |