Index: /trunk/FACT++/scripts/CheckUnderflow.js
===================================================================
--- /trunk/FACT++/scripts/CheckUnderflow.js	(revision 15144)
+++ /trunk/FACT++/scripts/CheckUnderflow.js	(revision 15145)
@@ -97,5 +97,5 @@
     v8.sleep(1000); // Let 'timeout' in SendRawData pass
 
-    var event_counter = service_event.get(5000, false).counter;
+    var event_counter = service_event.get(10000, false).counter;
 
     console.out("Starting drs-gain");
@@ -105,7 +105,7 @@
 
     var d = new Date();
-    //v8.timeout(10000, function() { if (service_event.get(0, false).counter>event_counter) return true; });
-    while (service_event.get(0, false).counter<=event_counter)
-        v8.sleep();
+    v8.timeout(10000, function() { if (service_event.get(0, false).counter>event_counter) return true; });
+    //while (service_event.get(0, false).counter<=event_counter)
+    //    v8.sleep();
 
     console.out("Event received: "+(new Date()-d)+"ms");
@@ -136,7 +136,10 @@
         var drs_counter = service_drs.get(0, false).counter;
         dim.send("FAD_CONTROL/LOAD_DRS_CALIBRATION", filefmt.$(yy, mm, dd, yy, mm, dd, nn));
-        //v8.timeout(5000, function() { if (service_drs.get(0, false).counter>drs_counter) return true; });
-        while (drs_counter == service_drs.get(0, false).counter)
-            v8.sleep();
+
+        var now = new Date();
+        v8.timeout(3000, function() { if (service_drs.get(0, false).counter>drs_counter) return true; });
+        //while (drs_counter == service_drs.get(0, false).counter)
+        //    v8.sleep();
+        console.out("Last DRS calibration restored ["+(new Date()-now)/1000+"s]");
     }
 
