From 974319454795979dad013c705ca9d53aae67668d Mon Sep 17 00:00:00 2001 From: Con Kolivas Date: Mon, 19 Aug 2013 16:36:01 +1000 Subject: [PATCH] Sleep for half a work period only in bflsc_get_results if no dev is suitable. --- driver-bflsc.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) 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); }