diff --git a/driver-bflsc.c b/driver-bflsc.c index 55dc827a..8b76f206 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); }