From: Jaroslav Kysela Date: Sat, 22 Dec 2018 17:42:28 +0000 (+0100) Subject: cclient: check keep-alive also when no poll event occurs, fixes #5445 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7fdc6f0549147ba0c25d652c5efe1bdaed6e7543;p=thirdparty%2Ftvheadend.git cclient: check keep-alive also when no poll event occurs, fixes #5445 --- diff --git a/src/descrambler/cclient.c b/src/descrambler/cclient.c index 2f587df8f..4a3dd1526 100644 --- a/src/descrambler/cclient.c +++ b/src/descrambler/cclient.c @@ -608,7 +608,7 @@ cc_session(cclient_t *cc) r = tvhpoll_wait(poll, &ev, 1, 1000); tvh_mutex_lock(&cc->cc_mutex); if (r == 0) - continue; + goto keepalive; if (r < 0 && ERRNO_AGAIN(errno)) continue; if (r < 0) @@ -642,6 +642,7 @@ cc_session(cclient_t *cc) } free(cm); } +keepalive: if (mono < mclk()) { mono = mclk() + sec2mono(cc->cc_keepalive_interval); if (cc->cc_keepalive)