diff --git a/src/lib/net/SecureSocket.cpp b/src/lib/net/SecureSocket.cpp index 49c70b40..eff6d8b6 100644 --- a/src/lib/net/SecureSocket.cpp +++ b/src/lib/net/SecureSocket.cpp @@ -869,5 +869,9 @@ SecureSocket::showSecureConnectInfo() void SecureSocket::handleTCPConnected(const Event& event, void*) { + if (getSocket() == nullptr) { + LOG((CLOG_DEBUG "disregarding stale connect event")); + return; + } secureConnect(); } diff --git a/src/lib/net/TCPSocket.cpp b/src/lib/net/TCPSocket.cpp index 679546f5..bc7f2864 100644 --- a/src/lib/net/TCPSocket.cpp +++ b/src/lib/net/TCPSocket.cpp @@ -51,6 +51,8 @@ TCPSocket::TCPSocket(IEventQueue* events, SocketMultiplexer* socketMultiplexer, throw XSocketCreate(e.what()); } + LOG((CLOG_DEBUG "Opening new socket: %08X", m_socket)); + init(); } @@ -64,6 +66,8 @@ TCPSocket::TCPSocket(IEventQueue* events, SocketMultiplexer* socketMultiplexer, { assert(m_socket != NULL); + LOG((CLOG_DEBUG "Opening new socket: %08X", m_socket)); + // socket starts in connected state init(); onConnected(); @@ -97,6 +101,8 @@ TCPSocket::bind(const NetworkAddress& addr) void TCPSocket::close() { + LOG((CLOG_DEBUG "Closing socket: %08X", m_socket)); + // remove ourself from the multiplexer setJob(NULL);