version 0.1.9
[fms.git] / src / nntp / nntplistener.cpp
index cfb72d7..7f6e469 100644 (file)
@@ -75,11 +75,12 @@ void NNTPListener::Run()
                                        newsock=accept((*listeni),(struct sockaddr *)&addr,&addrlen);\r
                                        LogFile::Instance()->WriteLog(LogFile::LOGLEVEL_INFO,"NNTPListener::run NNTP client connected");\r
                                        //m_connections.execute(new NNTPConnection(newsock));\r
-                                       m_connectionthreads.push_back(new PThread::Thread(new NNTPConnection(newsock)));\r
+                                       //m_connectionthreads.push_back(new PThread::Thread(new NNTPConnection(newsock)));\r
+                                       m_connections.Execute(new NNTPConnection(newsock));\r
                                }\r
                        }\r
                }\r
-\r
+/*\r
                // check for any non-running connection threads that we can delete\r
                for(std::vector<PThread::Thread *>::iterator i=m_connectionthreads.begin(); i!=m_connectionthreads.end(); )\r
                {\r
@@ -93,6 +94,7 @@ void NNTPListener::Run()
                                i++;\r
                        }\r
                }\r
+*/\r
 \r
        //}while(!ZThread::Thread::interrupted() && m_listensockets.size()>0);\r
        }while(!IsCancelled() && m_listensockets.size()>0);\r
@@ -116,6 +118,7 @@ void NNTPListener::Run()
                }\r
        }\r
        */\r
+       /*\r
        for(std::vector<PThread::Thread *>::iterator i=m_connectionthreads.begin(); i!=m_connectionthreads.end(); i++)\r
        {\r
                if((*i)->IsRunning())\r
@@ -126,6 +129,9 @@ void NNTPListener::Run()
                }\r
                delete (*i);\r
        }\r
+       */\r
+       m_connections.Cancel();\r
+       m_connections.Join();\r
 \r
        for(listeni=m_listensockets.begin(); listeni!=m_listensockets.end(); listeni++)\r
        {\r