TT#76711 add missing locking and tree-remove for media player

Change-Id: I276adfdb7b9aba163f51d296862d8fcc152959b5
changes/81/38581/1
Richard Fuchs 5 years ago
parent 0308ee43ec
commit 01cf85f6ac

@ -218,14 +218,20 @@ unsigned int timerthread_queue_flush(struct timerthread_queue *ttq, void *ptr) {
if (!ttq)
return 0;
mutex_lock(&ttq->lock);
unsigned int num = 0;
GQueue matches = G_QUEUE_INIT;
g_tree_find_all(&matches, ttq->entries, ttqe_ptr_match, ptr);
while (matches.length) {
struct timerthread_queue_entry *ttqe = g_queue_pop_head(&matches);
g_tree_remove(ttq->entries, ttqe);
ttq->entry_free_func(ttqe);
num++;
}
mutex_unlock(&ttq->lock);
return num;
}

Loading…
Cancel
Save