aboutsummaryrefslogtreecommitdiffstats
path: root/lib/Socket.cpp
diff options
context:
space:
mode:
authorMatthias P. Braendli <matthias.braendli@mpb.li>2025-12-30 14:17:05 +0100
committerMatthias P. Braendli <matthias.braendli@mpb.li>2025-12-30 14:17:05 +0100
commit39ece2aaf3305f78a8c5f8c7aa56ef82541e3931 (patch)
tree89092e83b4fedd057162cdba53c1de070e3ce53a /lib/Socket.cpp
parent646a7b1ed44decdb6aff868633419dbf3f3d95d1 (diff)
downloaddabmux-39ece2aaf3305f78a8c5f8c7aa56ef82541e3931.tar.gz
dabmux-39ece2aaf3305f78a8c5f8c7aa56ef82541e3931.tar.bz2
dabmux-39ece2aaf3305f78a8c5f8c7aa56ef82541e3931.zip
Fix two race conditions when startup fails
Diffstat (limited to 'lib/Socket.cpp')
-rw-r--r--lib/Socket.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/Socket.cpp b/lib/Socket.cpp
index da9031f..580618c 100644
--- a/lib/Socket.cpp
+++ b/lib/Socket.cpp
@@ -1107,11 +1107,11 @@ TCPDataDispatcher::TCPDataDispatcher(size_t max_queue_size, size_t buffers_to_pr
TCPDataDispatcher::~TCPDataDispatcher()
{
m_running = false;
- m_connections.clear();
- m_listener_socket.close();
if (m_listener_thread.joinable()) {
m_listener_thread.join();
}
+ m_listener_socket.close();
+ m_connections.clear();
}
void TCPDataDispatcher::start(int port, const string& address)