Index: /trunk/BNC/bnccaster.cpp
===================================================================
--- /trunk/BNC/bnccaster.cpp	(revision 384)
+++ /trunk/BNC/bnccaster.cpp	(revision 385)
@@ -120,4 +120,5 @@
 ////////////////////////////////////////////////////////////////////////////
 void bncCaster::reconnecting(const QByteArray& staID) {
+  QMutexLocker locker(&_mutex);
   if (_rinexWriters.find(staID) != _rinexWriters.end()) {
     bncRinex* rnx = _rinexWriters.find(staID).value();
@@ -186,4 +187,5 @@
 ////////////////////////////////////////////////////////////////////////////
 void bncCaster::dumpEpochSlot() {
+  QMutexLocker locker(&_mutex);
   if (_newTime != 0 && _epochs->size() > 0) {
     dumpEpochs(_lastDumpSec + 1, _newTime - _waitTime);
@@ -199,4 +201,5 @@
 ////////////////////////////////////////////////////////////////////////////
 void bncCaster::slotNewConnection() {
+  QMutexLocker locker(&_mutex);
   _sockets->push_back( _server->nextPendingConnection() );
 }
@@ -205,4 +208,5 @@
 ////////////////////////////////////////////////////////////////////////////
 void bncCaster::addGetThread(bncGetThread* getThread) {
+  QMutexLocker locker(&_mutex);
   connect(getThread, SIGNAL(error(const QByteArray&)), 
           this, SLOT(slotGetThreadError(const QByteArray&)));
@@ -228,4 +232,5 @@
 ////////////////////////////////////////////////////////////////////////////
 void bncCaster::dumpEpochs(long minTime, long maxTime) {
+  QMutexLocker locker(&_mutex);
 
   const char begEpoch = 'A';
