From: Jaroslav Kysela Date: Sun, 5 Oct 2014 13:16:02 +0000 (+0200) Subject: capmt: handle the reconfiguration properly X-Git-Tag: v4.1~1128 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7b4d169b5e0a210463dffc7a2ff0e73692fe0113;p=thirdparty%2Ftvheadend.git capmt: handle the reconfiguration properly --- diff --git a/src/descrambler/capmt.c b/src/descrambler/capmt.c index 802a9f76b..5d3a0decd 100644 --- a/src/descrambler/capmt.c +++ b/src/descrambler/capmt.c @@ -1469,6 +1469,11 @@ capmt_thread(void *aux) #endif } + if (capmt->capmt_reconfigure) { + capmt->capmt_reconfigure = 0; + capmt->capmt_running = 1; + } + caclient_set_status((caclient_t *)capmt, CACLIENT_STATUS_DISCONNECTED); /* close opened sockets */ @@ -1929,6 +1934,7 @@ capmt_conf_changed(caclient_t *cac) } if (!capmt->capmt_running) { capmt->capmt_running = 1; + capmt->capmt_reconfigure = 0; tvhthread_create(&capmt->capmt_tid, NULL, capmt_thread, capmt); return; } @@ -1942,6 +1948,7 @@ capmt_conf_changed(caclient_t *cac) return; pthread_mutex_lock(&capmt->capmt_mutex); capmt->capmt_running = 0; + capmt->capmt_reconfigure = 0; pthread_cond_signal(&capmt->capmt_cond); tid = capmt->capmt_tid; pthread_mutex_unlock(&capmt->capmt_mutex);