From a4cd4913cce5c2ffa810b0edd198602cbc0afbc6 Mon Sep 17 00:00:00 2001 From: Packit Service Date: Dec 12 2020 22:15:30 +0000 Subject: Apply patch dleyna-core-Make-the-task-processor-more-robust.patch patch_name: dleyna-core-Make-the-task-processor-more-robust.patch present_in_specfile: true --- diff --git a/libdleyna/core/task-processor.c b/libdleyna/core/task-processor.c index f50dd56..1497230 100644 --- a/libdleyna/core/task-processor.c +++ b/libdleyna/core/task-processor.c @@ -96,6 +96,11 @@ static void prv_free_cb(gpointer data) DLEYNA_LOG_DEBUG("Enter"); + if (task_queue->idle_id) { + g_source_remove(task_queue->idle_id); + task_queue->idle_id = 0; + } + g_ptr_array_foreach(task_queue->tasks, prv_task_free_cb, task_queue); g_ptr_array_unref(task_queue->tasks); @@ -252,12 +257,12 @@ void dleyna_task_processor_set_quitting(dleyna_task_processor_t *processor) DLEYNA_LOG_DEBUG("Enter"); processor->quitting = TRUE; + prv_cancel_all_queues(processor); - if (processor->running_tasks == 0) + if (processor->running_tasks == 0) { g_idle_add(processor->on_quit_cb, NULL); - - prv_cancel_all_queues(processor); - g_hash_table_remove_all(processor->task_queues); + g_hash_table_remove_all(processor->task_queues); + } DLEYNA_LOG_DEBUG("Exit"); }