From f72d1e1821b116a033b8c12bd0a55b5adb6cc674 Mon Sep 17 00:00:00 2001 From: "madmaxoft@gmail.com" Date: Mon, 19 Mar 2012 09:36:34 +0000 Subject: [PATCH] SocketThreads: proper thread finishing sequence (doesn't trigger AppVerifier checks :) git-svn-id: http://mc-server.googlecode.com/svn/trunk@419 0a769ca7-a7f5-676a-18bf-c427514a06d6 --- source/cSocketThreads.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/source/cSocketThreads.cpp b/source/cSocketThreads.cpp index 1aa802a23..fbef2a2c3 100644 --- a/source/cSocketThreads.cpp +++ b/source/cSocketThreads.cpp @@ -226,6 +226,15 @@ cSocketThreads::cSocketThread::cSocketThread(cSocketThreads * a_Parent) : cSocketThreads::cSocketThread::~cSocketThread() { m_ShouldTerminate = true; + + // Notify the thread: + ASSERT(m_ControlSocket2.IsValid()); + m_ControlSocket2.Send("a", 1); + + // Wait for the thread to finish: + Wait(); + + // Close the control sockets: m_ControlSocket1.CloseSocket(); m_ControlSocket2.CloseSocket(); }