diff options
author | Regis Merlino <regis.merlino@intel.com> | 2013-04-18 15:15:43 +0200 |
---|---|---|
committer | Mark Ryan <mark.d.ryan@intel.com> | 2013-05-03 16:21:40 +0200 |
commit | 25d270897da7fad5ea3c8b18a0aa70c470447d14 (patch) | |
tree | e28b681737111cf6b7319b278161da65d6cf7f9a /libdleyna | |
parent | 2e7e57095e97f61a37517b573cb13a2f948dda0d (diff) | |
download | dleyna-core-25d270897da7fad5ea3c8b18a0aa70c470447d14.tar.gz |
[Processor] Fix a potential crash when quitting the app
Signed-off-by: Regis Merlino <regis.merlino@intel.com>
Diffstat (limited to 'libdleyna')
-rw-r--r-- | libdleyna/core/task-processor.c | 9 |
1 files 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) |