From: ast261 Date: Tue, 16 Jul 2024 18:28:30 +0000 (+0200) Subject: fixes #1733 X-Git-Url: http://git.ipfire.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=9dec5b585d8c1b4bb8ae8890985cc5a0148de24f;p=thirdparty%2Ftvheadend.git fixes #1733 --- diff --git a/src/epggrab.c b/src/epggrab.c index 369651be7..06073e981 100644 --- a/src/epggrab.c +++ b/src/epggrab.c @@ -116,24 +116,23 @@ static void *_epggrab_internal_thread( void *aux ) if (err == ETIMEDOUT) break; } - clock_gettime(CLOCK_REALTIME, &cron_next); - cron_next.tv_nsec = 0; - while (atomic_get(&epggrab_running)) { - /* Check for config change */ tvh_mutex_lock(&epggrab_mutex); + + clock_gettime(CLOCK_REALTIME, ¤t_time); + if (!cron_multi_next(epggrab_cron_multi, current_time.tv_sec, &t)) + cron_next.tv_sec = t; + else + cron_next.tv_sec += 60; + + /* Check for config change */ while (atomic_get(&epggrab_running) && confver == epggrab_confver) { err = tvh_cond_timedwait_ts(&epggrab_cond, &epggrab_mutex, &cron_next); if (err == ETIMEDOUT) break; } confver = epggrab_confver; - clock_gettime(CLOCK_REALTIME, ¤t_time); - if (!cron_multi_next(epggrab_cron_multi, current_time.tv_sec, &t)) - cron_next.tv_sec = t; - else - cron_next.tv_sec += 60; tvh_mutex_unlock(&epggrab_mutex); /* Run grabber(s) */