Index: /trunk/BNC/bncgetthread.cpp
===================================================================
--- /trunk/BNC/bncgetthread.cpp	(revision 2031)
+++ /trunk/BNC/bncgetthread.cpp	(revision 2032)
@@ -338,5 +338,5 @@
     connect(((bncApp*)qApp), SIGNAL(newCorrections(QList<QString>)),
 	    _PPPthread, SLOT(slotNewCorrections(QList<QString>)));
-    _PPPthread->start();
+    ////    _PPPthread->start();  // currently processing in the same thread
   }
 
Index: /trunk/BNC/bncpppthread.cpp
===================================================================
--- /trunk/BNC/bncpppthread.cpp	(revision 2031)
+++ /trunk/BNC/bncpppthread.cpp	(revision 2032)
@@ -110,37 +110,44 @@
 ////////////////////////////////////////////////////////////////////////////
 void bncPPPthread::putNewObs(p_obs pp) {
-
-  QMutexLocker locker(&_mutex);
-
-  t_obsInternal* obs = &(pp->_o);
-
-  t_time tt(obs->GPSWeek, obs->GPSWeeks);
-
-  if      (!_dataHlp) {
-    _dataHlp = new t_data();
-    _dataHlp->tt = tt;
-  }
-  else if (tt != _dataHlp->tt) {
-    _data = _dataHlp;
-    _dataHlp = new t_data();
-    _dataHlp->tt = tt;
-  }
-
-  ++_dataHlp->numSat;
-
-  if (_dataHlp->numSat > t_data::MAXOBS) {
-    cerr << "putNewObs: numSat > MAXOBS\n";
-    exit(1);
-  }
-
-  _dataHlp->prn[_dataHlp->numSat] = 
-        QString("%1%2").arg(obs->satSys).arg(obs->satNum, 2, 10, QChar('0'));
-      
-  _dataHlp->C1[_dataHlp->numSat] = obs->C1;
-  _dataHlp->C2[_dataHlp->numSat] = obs->C2;
-  _dataHlp->P1[_dataHlp->numSat] = obs->P1;
-  _dataHlp->P2[_dataHlp->numSat] = obs->P2;
-  _dataHlp->L1[_dataHlp->numSat] = obs->L1;
-  _dataHlp->L2[_dataHlp->numSat] = obs->L2;
+  {
+    QMutexLocker locker(&_mutex);
+    
+    t_obsInternal* obs = &(pp->_o);
+    
+    t_time tt(obs->GPSWeek, obs->GPSWeeks);
+    
+    if      (!_dataHlp) {
+      _dataHlp = new t_data();
+      _dataHlp->tt = tt;
+    }
+    else if (tt != _dataHlp->tt) {
+      _data = _dataHlp;
+      _dataHlp = new t_data();
+      _dataHlp->tt = tt;
+    }
+    
+    ++_dataHlp->numSat;
+    
+    if (_dataHlp->numSat > t_data::MAXOBS) {
+      cerr << "putNewObs: numSat > MAXOBS\n";
+      exit(1);
+    }
+    
+    _dataHlp->prn[_dataHlp->numSat] = 
+          QString("%1%2").arg(obs->satSys).arg(obs->satNum, 2, 10, QChar('0'));
+        
+    _dataHlp->C1[_dataHlp->numSat] = obs->C1;
+    _dataHlp->C2[_dataHlp->numSat] = obs->C2;
+    _dataHlp->P1[_dataHlp->numSat] = obs->P1;
+    _dataHlp->P2[_dataHlp->numSat] = obs->P2;
+    _dataHlp->L1[_dataHlp->numSat] = obs->L1;
+    _dataHlp->L2[_dataHlp->numSat] = obs->L2;
+    
+    cout << tt.timestr(1) << " " << obs->satNum << endl;
+    cout.flush();
+
+  } // end of mutex
+
+  processEpoch(); // currently in the same thread of bncgetthread;
 }
 
