From 25d270897da7fad5ea3c8b18a0aa70c470447d14 Mon Sep 17 00:00:00 2001 From: Regis Merlino Date: Thu, 18 Apr 2013 15:15:43 +0200 Subject: [Processor] Fix a potential crash when quitting the app Signed-off-by: Regis Merlino --- libdleyna/core/task-processor.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/libdleyna/core/task-processor.c b/libdleyna/core/task-processor.c index 5955a0e..0a55d1f 100644 --- a/libdleyna/core/task-processor.c +++ b/libdleyna/core/task-processor.c @@ -233,9 +233,9 @@ void dleyna_task_processor_set_quitting(dleyna_task_processor_t *processor) processor->quitting = TRUE; - if (processor->running_tasks > 0) - prv_cancel_all_queues(processor); - else + prv_cancel_all_queues(processor); + + if (processor->running_tasks == 0) g_idle_add(processor->on_quit_cb, NULL); DLEYNA_LOG_DEBUG("Exit"); @@ -374,6 +374,9 @@ void dleyna_task_queue_start(const dleyna_task_queue_key_t *queue_id) DLEYNA_LOG_DEBUG("Enter - Starting queue <%s,%s>", queue_id->source, queue_id->sink); + if (processor->quitting) + goto exit; + queue = g_hash_table_lookup(processor->task_queues, queue_id); if (queue->defer_remove) -- cgit v1.2.1