From 77d0c4e505d98428e516fea50c8b1c5e986c6d8e Mon Sep 17 00:00:00 2001 From: Hwankyu Jhun Date: Thu, 22 Oct 2020 14:26:40 +0900 Subject: [PATCH] Close IO channel before releasing it Change-Id: I7b9b7e17d21f28c1b9944076dec197de5b3ee3a0 Signed-off-by: Hwankyu Jhun --- src/aul_worker.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/aul_worker.c b/src/aul_worker.c index ce16572..66611b4 100644 --- a/src/aul_worker.c +++ b/src/aul_worker.c @@ -90,6 +90,17 @@ static void __destroy_job(gpointer data) struct job_s *job = (struct job_s *)data; GSource *source; GMainContext *context; + GError *error = NULL; + + if (job->channel) { + g_io_channel_shutdown(job->channel, TRUE, &error); + if (error) { + _E("g_io_channel_shutdown() is failed. error(%s)", + error->message); + g_error_free(error); + } + g_io_channel_unref(job->channel); + } if (job->tag) { context = g_main_context_get_thread_default(); @@ -98,9 +109,6 @@ static void __destroy_job(gpointer data) g_source_destroy(source); } - if (job->channel) - g_io_channel_unref(job->channel); - free(job->name); free(job); } -- 2.7.4