Index: trunk/Ohana/src/opihi/pcontrol/CheckSystem.c
===================================================================
--- trunk/Ohana/src/opihi/pcontrol/CheckSystem.c	(revision 4762)
+++ trunk/Ohana/src/opihi/pcontrol/CheckSystem.c	(revision 4763)
@@ -1,7 +1,10 @@
 # include "pcontrol.h"
 
-static Npass = 0;
+static struct timeval lastlive = {0, 0};
 
 int CheckSystem () {
+
+  struct timeval now;
+  float dtime;
 
   /* we want to give each block a maximum allowed time */
@@ -14,14 +17,14 @@
   CheckDownHosts(0.100); /* launch the host */
 
+  /* always allow at least one test */
   /* most tests require about 2ms per host.  
      CheckDoneJobs must depend on the size of the output buffer */
 
-  /* this is a waste of cycles: no need to do this every loop */
-  if (Npass > 20) {
+  gettimeofday (&now, (void *) NULL);
+  dtime = DTIME (now, lastlive);
+  if (dtime > 1.0) {
     CheckLiveHosts(0.040);
-    Npass = 0;
-  } else {
-    Npass ++;
-  }
+    lastlive = now;
+  } 
 
   if (0) { 
