summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--source/OSSupport/ListenThread.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/source/OSSupport/ListenThread.cpp b/source/OSSupport/ListenThread.cpp
index 4542326ef..c586227df 100644
--- a/source/OSSupport/ListenThread.cpp
+++ b/source/OSSupport/ListenThread.cpp
@@ -25,7 +25,7 @@ cListenThread::cListenThread(cCallback & a_Callback, cSocket::eFamily a_Family,
cListenThread::~cListenThread()
{
- // TODO
+ Stop();
}
@@ -79,7 +79,11 @@ void cListenThread::Stop(void)
// Wait for the thread to finish
super::Wait();
- // Clean up all sockets
+ // Close all the listening sockets:
+ for (cSockets::iterator itr = m_Sockets.begin(), end = m_Sockets.end(); itr != end; ++itr)
+ {
+ itr->CloseSocket();
+ } // for itr - m_Sockets[]
m_Sockets.clear();
}