void tvh_hardware_delete ( tvh_hardware_t *th ) { // TODO LIST_REMOVE(th, th_link); idnode_unlink(&th->th_id); notify_reload("hardware"); }
static void mpegts_mux_instance_delete ( mpegts_mux_instance_t *mmi ) { idnode_unlink(&mmi->mmi_id); LIST_REMOVE(mmi, mmi_mux_link); LIST_REMOVE(mmi, mmi_input_link); free(mmi); }
void mpegts_mux_instance_delete ( tvh_input_instance_t *tii ) { mpegts_mux_instance_t *mmi = (mpegts_mux_instance_t *)tii; idnode_unlink(&tii->tii_id); LIST_REMOVE(mmi, mmi_mux_link); LIST_REMOVE(tii, tii_input_link); free(mmi); }
void mpegts_mux_instance_delete ( tvh_input_instance_t *tii ) { mpegts_mux_instance_t *mmi = (mpegts_mux_instance_t *)tii; idnode_save_check(&tii->tii_id, 1); idnode_unlink(&tii->tii_id); LIST_REMOVE(mmi, mmi_mux_link); LIST_REMOVE(tii, tii_input_link); pthread_mutex_destroy(&mmi->tii_stats_mutex); free(mmi); }
static void bouquet_destroy(bouquet_t *bq) { if (!bq) return; RB_REMOVE(&bouquets, bq, bq_link); idnode_unlink(&bq->bq_id); idnode_set_free(bq->bq_active_services); idnode_set_free(bq->bq_services); assert(bq->bq_services_waiting == NULL); free((char *)bq->bq_chtag_waiting); free(bq->bq_name); free(bq->bq_src); free(bq->bq_comment); free(bq); }