Commit 974319454795979dad013c705ca9d53aae67668d

Con Kolivas 2013-08-19T16:36:01

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

diff --git a/driver-bflsc.c b/driver-bflsc.c
index 55dc827..8b76f20 100644
--- a/driver-bflsc.c
+++ b/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);
 	}