Index: trunk/BNC/src/PPP/pppMain.cpp
===================================================================
--- trunk/BNC/src/PPP/pppMain.cpp	(revision 5774)
+++ trunk/BNC/src/PPP/pppMain.cpp	(revision 5775)
@@ -95,5 +95,5 @@
   while (it.hasNext()) {
     t_pppThread* pppThread = it.next();
-    pppThread->stop();
+    pppThread->exit();
   }
   _pppThreads.clear();
Index: trunk/BNC/src/PPP/pppThread.cpp
===================================================================
--- trunk/BNC/src/PPP/pppThread.cpp	(revision 5774)
+++ trunk/BNC/src/PPP/pppThread.cpp	(revision 5775)
@@ -56,4 +56,6 @@
   _opt   = opt;
   _pppRun = 0;
+  connect(this, SIGNAL(finished()), this, SLOT(deleteLater()));
+
   connect(this, SIGNAL(newMessage(QByteArray,bool)), 
           BNC_CORE, SLOT(slotMessage(const QByteArray,bool)));
@@ -63,4 +65,5 @@
 ////////////////////////////////////////////////////////////////////////////
 t_pppThread::~t_pppThread() {
+  cout << "~t_pppThread" << endl;
   delete _pppRun;
 }
@@ -71,4 +74,5 @@
   try {
     _pppRun = new t_pppRun(_opt);
+    QThread::exec();
   }
   catch (pppExcept exc) {
@@ -76,14 +80,4 @@
     emit newMessage(QByteArray(exc.what().c_str()), true);
   }
-  QThread::exec();
-}
-
-// 
-////////////////////////////////////////////////////////////////////////////
-void t_pppThread::stop() {
-  this->exit();
-  delete _pppRun; _pppRun = 0;
-  this->wait(1000);
-  this->deleteLater();
 }
 
@@ -120,4 +114,5 @@
 ////////////////////////////////////////////////////////////////////////////
 t_pppRun::~t_pppRun() {
+  cout << "~t_pppRun" << endl;
 }
 
@@ -156,4 +151,5 @@
   QStringListIterator it(corrList);
   while (it.hasNext()) {
+    it.next();
   }
 
@@ -167,5 +163,4 @@
   QMutexLocker locker(&_mutex);
 
-
   vector<t_pppSatObs> satObs;
   t_output            output;
Index: trunk/BNC/src/PPP/pppThread.h
===================================================================
--- trunk/BNC/src/PPP/pppThread.h	(revision 5774)
+++ trunk/BNC/src/PPP/pppThread.h	(revision 5775)
@@ -39,5 +39,4 @@
   ~t_pppThread();
   virtual void run();
-  void stop();
 
  signals:
