static void dvr_autorec_purge_spawns(dvr_autorec_entry_t *dae) { dvr_entry_t *de; while((de = LIST_FIRST(&dae->dae_spawns)) != NULL) { LIST_REMOVE(de, de_autorec_link); de->de_autorec = NULL; dvr_entry_cancel(de); } }
/** * Unlink - and remove any unstarted */ static void dvr_autorec_purge_spawns(dvr_autorec_entry_t *dae, int del) { dvr_entry_t *de; while((de = LIST_FIRST(&dae->dae_spawns)) != NULL) { LIST_REMOVE(de, de_autorec_link); de->de_autorec = NULL; if (!del) continue; if (de->de_sched_state == DVR_SCHEDULED) dvr_entry_cancel(de); else dvr_entry_save(de); } }
static void api_dvr_cancel(access_t *perm, idnode_t *self) { dvr_entry_cancel((dvr_entry_t *)self); }