Index: trunk/BNC/src/PPP/pppMain.cpp
===================================================================
--- trunk/BNC/src/PPP/pppMain.cpp	(revision 5727)
+++ trunk/BNC/src/PPP/pppMain.cpp	(revision 5729)
@@ -83,4 +83,9 @@
   if (!_running) {
     return;
+  }
+  QListIterator<t_pppThread*> it(_pppThreads);
+  while (it.hasNext()) {
+    t_pppThread* pppThread = it.next();
+    pppThread->exit();
   }
   _running = false;
Index: trunk/BNC/src/PPP/pppThread.cpp
===================================================================
--- trunk/BNC/src/PPP/pppThread.cpp	(revision 5727)
+++ trunk/BNC/src/PPP/pppThread.cpp	(revision 5729)
@@ -66,9 +66,11 @@
 void t_pppThread::run() {
 
+  cout << _opt._roverName << " run" << endl;
+
   // Connect to BNC Signals
   // ----------------------
   if (BNC_CORE->caster()) {
-    connect(BNC_CORE->caster().data(), SIGNAL(newObs(QByteArray, QList<t_obs>)),
-          this,      SLOT(slotNewObs(QByteArray, QList<t_obs>)));
+    connect(BNC_CORE->caster(), SIGNAL(newObs(QByteArray, QList<t_obs>)),
+            this, SLOT(slotNewObs(QByteArray, QList<t_obs>)));
 
     connect(BNC_CORE, SIGNAL(newEphGPS(gpsephemeris)),
@@ -88,4 +90,6 @@
   // ---------------------
   QThread::exec();
+
+  cout << _opt._roverName << " exit" << endl;
 }
 
