* cwc_mutex is held
*/
static void
-cwc_service_destroy(th_descrambler_t *td)
+cwc_service_destroy0(th_descrambler_t *td)
{
cwc_service_t *ct = (cwc_service_t *)td;
cwc_t *cwc = ct->cs_cwc;
- int i;
- pthread_mutex_lock(&cwc->cwc_mutex);
for (i = 0; i < CWC_ES_PIDS; i++)
if (ct->cs_epids[i])
descrambler_close_pid(ct->cs_mux, ct,
free(ct->td_nicename);
free(ct);
+}
+
+/**
+ * cwc_mutex is held
+ */
+static void
+cwc_service_destroy(th_descrambler_t *td)
+{
+ pthread_mutex_lock(&cwc->cwc_mutex);
+ cwc_service_destroy0(td);
pthread_mutex_unlock(&cwc->cwc_mutex);
}
if (st) break;
}
if (!pcard) {
- if (ct) cwc_service_destroy((th_descrambler_t*)ct);
+ if (ct) cwc_service_destroy0((th_descrambler_t*)ct);
goto end;
}
if (ct) {