From 01cf85f6acb6dde017d2b900c7ebc3e6251265df Mon Sep 17 00:00:00 2001 From: Richard Fuchs Date: Wed, 18 Mar 2020 09:07:48 -0400 Subject: [PATCH] TT#76711 add missing locking and tree-remove for media player Change-Id: I276adfdb7b9aba163f51d296862d8fcc152959b5 --- daemon/timerthread.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/daemon/timerthread.c b/daemon/timerthread.c index 6b9aaa570..2e57833ad 100644 --- a/daemon/timerthread.c +++ b/daemon/timerthread.c @@ -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; }