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);
}