Index: trunk/FACT++/src/EventBuilderWrapper.h
===================================================================
--- trunk/FACT++/src/EventBuilderWrapper.h	(revision 11094)
+++ trunk/FACT++/src/EventBuilderWrapper.h	(revision 11095)
@@ -1161,4 +1161,6 @@
          geloescht (nicht an die write-routine weitergeleitet [mind. im Prinzip]
          */
+
+        return 0;
     }
 }
Index: trunk/FACT++/src/fadctrl.cc
===================================================================
--- trunk/FACT++/src/fadctrl.cc	(revision 11094)
+++ trunk/FACT++/src/fadctrl.cc	(revision 11095)
@@ -65,5 +65,5 @@
         for (unsigned int c=0; c<FAD::kNumChips; c++)
         {
-            Out() << "ROI" << fEventHeader.Crate() << ":" << fEventHeader.Board() << ":" << c << ":";
+            Out() << "ROI|" << fEventHeader.Crate() << ":" << fEventHeader.Board() << ":" << c << ":";
             for (unsigned int ch=0; ch<FAD::kNumChannelsPerChip; ch++)
                 Out() << " " << setw(4) << fChannelHeader[c*FAD::kNumChannelsPerChip+ch].fRegionOfInterest;
@@ -71,5 +71,5 @@
         }
 
-        Out() << "CEL" << fEventHeader.Crate() << ":" << fEventHeader.Board() << ":";
+        Out() << "CEL|" << fEventHeader.Crate() << ":" << fEventHeader.Board() << ":";
         for (unsigned int c=0; c<FAD::kNumChips; c++)
         {
@@ -1070,12 +1070,18 @@
         {
             ptr->PostClose(false);
-        }
-        else
-        {
-            ostringstream str;
-            str << c.first;
-            ptr->SetEndpoint(str.str());
-            ptr->StartConnect();
-        }
+            return;
+        }
+
+        ostringstream str;
+        str << c.first;
+
+        if (!ptr->IsDisconnected())
+        {
+            T::Warn("Connection to "+str.str()+" already in progress.");
+            return;
+        }
+
+        ptr->SetEndpoint(str.str());
+        ptr->StartConnect();
     }
 
@@ -1100,5 +1106,4 @@
 
         const BoardList::iterator it = GetSlot(slot);
-
         if (it==fBoards.end())
             return T::GetCurrentState();
@@ -1393,8 +1398,8 @@
             ("");
 
-        T::AddEvent("PRINT_EVENT", "I:1")
+        T::AddEvent("PRINT_EVENT", "S:1")
             (boost::bind(&StateMachineFAD::PrintEvent, this, _1))
             ("Print (last) event"
-             "|board[int]:slot from which the event should be printed (-1 for all)");
+             "|board[short]:slot from which the event should be printed (-1 for all)");
 
         T::AddEvent("DUMP_STREAM", "B:1")
@@ -1437,24 +1442,25 @@
         T::AddEvent("START", FAD::kOffline)
             (boost::bind(&StateMachineFAD::StartConnection, this))
-            ("");
+            ("Start EventBuilder thread and connect all valid slots.");
+
         T::AddEvent("STOP",  FAD::kDisconnected, FAD::kConnecting, FAD::kConnected)
             (boost::bind(&StateMachineFAD::StopConnection, this))
-            ("");
+            ("Stop EventBuilder thread (still write buffered events) and disconnect all slots.");
 
         T::AddEvent("ABORT", FAD::kDisconnected, FAD::kConnecting, FAD::kConnected)
             (boost::bind(&StateMachineFAD::AbortConnection, this))
-            ("");
+            ("Immediately abort EventBuilder thread and disconnect all slots.");
 
         T::AddEvent("CONNECT", "S:1", FAD::kConnecting, FAD::kConnected)
             (boost::bind(&StateMachineFAD::EnableSlot, this, _1, true))
-            ("");
+            ("Connect a disconnected slot.");
 
         T::AddEvent("DISCONNECT", "S:1", FAD::kConnecting, FAD::kConnected)
             (boost::bind(&StateMachineFAD::EnableSlot, this, _1, false))
-            ("");
+            ("Disconnect a connected slot.");
 
         T::AddEvent("CLOSE_OPEN_FILES", FAD::kConnecting, FAD::kConnected)
             (boost::bind(&StateMachineFAD::CloseOpenFiles, this))
-            ("");
+            ("Close all run files opened by the EventBuilder.");
 
         T::AddEvent("TEST", "S:1")
