diff --git a/src/lib/net/TCPListenSocket.cpp b/src/lib/net/TCPListenSocket.cpp index fd6ff7045..a61d02190 100644 --- a/src/lib/net/TCPListenSocket.cpp +++ b/src/lib/net/TCPListenSocket.cpp @@ -12,8 +12,6 @@ #include "base/IEventQueue.h" #include "base/Log.h" #include "io/XIO.h" -#include "mt/Lock.h" -#include "mt/Mutex.h" #include "net/NetworkAddress.h" #include "net/SocketMultiplexer.h" #include "net/TCPSocket.h" @@ -30,7 +28,6 @@ TCPListenSocket::TCPListenSocket( : m_events(events), m_socketMultiplexer(socketMultiplexer) { - m_mutex = new Mutex; try { m_socket = ARCH->newSocket(family, IArchNetwork::kSTREAM); } catch (XArchNetwork &e) { @@ -49,13 +46,12 @@ TCPListenSocket::~TCPListenSocket() // ignore LOG((CLOG_WARN "error while closing TCP socket")); } - delete m_mutex; } void TCPListenSocket::bind(const NetworkAddress &addr) { try { - Lock lock(m_mutex); + std::lock_guard lock(m_mutex); ARCH->setReuseAddrOnSocket(m_socket, true); ARCH->bindSocket(m_socket, addr.getAddress()); ARCH->listenOnSocket(m_socket); @@ -73,7 +69,7 @@ void TCPListenSocket::bind(const NetworkAddress &addr) void TCPListenSocket::close() { - Lock lock(m_mutex); + std::lock_guard lock(m_mutex); if (m_socket == nullptr) { throw XIOClosed(); } diff --git a/src/lib/net/TCPListenSocket.h b/src/lib/net/TCPListenSocket.h index 806c0d6e0..6310296bf 100644 --- a/src/lib/net/TCPListenSocket.h +++ b/src/lib/net/TCPListenSocket.h @@ -10,7 +10,8 @@ #include "arch/IArchNetwork.h" #include "net/IListenSocket.h" -class Mutex; +#include + class ISocketMultiplexerJob; class IEventQueue; class SocketMultiplexer; @@ -46,7 +47,7 @@ public: protected: ArchSocket m_socket; - Mutex *m_mutex = nullptr; + std::mutex m_mutex; IEventQueue *m_events; SocketMultiplexer *m_socketMultiplexer; };