Browse Source

Sleep for half a work period only in bflsc_get_results if no dev is suitable.

Con Kolivas 12 years ago
parent
commit
9743194547
1 changed files with 6 additions and 4 deletions
  1. 6 4
      driver-bflsc.c

+ 6 - 4
driver-bflsc.c

@@ -1424,8 +1424,12 @@ static void *bflsc_get_results(void *userdata)
 			return NULL;
 
 		cgsleep_prepare_r(&ts_start);
-		if (dev == -1)
-			goto utsura;
+		if (dev == -1) {
+			/* Sleep for only half a work period before checking
+			 * again. */
+			cgsleep_ms_r(&ts_start, sc_info->default_ms_work / 2);
+			continue;
+		}
 
 		cgtime(&(sc_info->sc_devs[dev].last_check_result));
 
@@ -1442,8 +1446,6 @@ static void *bflsc_get_results(void *userdata)
 
 			// TODO: if not getting results ... reinit?
 		}
-
-utsura:
 		cgsleep_ms_r(&ts_start, sc_info->results_sleep_time);
 	}