Index: trunk/FACT++/src/fadctrl.cc
===================================================================
--- trunk/FACT++/src/fadctrl.cc	(revision 11340)
+++ trunk/FACT++/src/fadctrl.cc	(revision 11342)
@@ -1184,7 +1184,7 @@
     }
 
-    int Reset()
-    {
-        ResetThread();
+    int Reset(bool soft)
+    {
+        ResetThread(soft);
         return T::GetCurrentState();
     }
@@ -1532,7 +1532,11 @@
             ("Immediately abort EventBuilder thread and disconnect all slots.");
 
-        T::AddEvent("RESET", FAD::kDisconnected)
-            (boost::bind(&StateMachineFAD::Reset, this))
-            ("Flush all buffers, close all files  and reinitialize event builder thread.");
+        T::AddEvent("SOFT_RESET", FAD::kConnected)
+            (boost::bind(&StateMachineFAD::Reset, this, true))
+            ("Wait for buffers to drain, close all files and reinitialize event builder thread.");
+
+        T::AddEvent("HARD_RESET", FAD::kConnected)
+            (boost::bind(&StateMachineFAD::Reset, this, false))
+            ("Free all buffers, close all files and reinitialize event builder thread.");
 
         T::AddEvent("CONNECT", "S:1", FAD::kDisconnected, FAD::kConnecting, FAD::kConnected)
