refactor getsize sync function
[platform/core/appfw/pkgmgr-server.git] / src / queue.c
index 11e6ace..68b0476 100644 (file)
@@ -159,8 +159,25 @@ static gboolean __str_equal(gconstpointer v1, gconstpointer v2)
        return strcasecmp(str1, str2) == 0;
 }
 
+void __free_extra_info(struct backend_job *job)
+{
+       if (job->extra) {
+               if (job->extra->getsize_io)
+                       g_io_channel_unref(job->extra->getsize_io);
+               if (job->extra->getsize_fd)
+                       close(job->extra->getsize_fd);
+               if (job->extra->getsize_fifo) {
+                       unlink(job->extra->getsize_fifo);
+                       free(job->extra->getsize_fifo);
+               }
+               free(job->extra);
+               job->extra = NULL;
+       }
+}
+
 void _free_backend_job(struct backend_job *job)
 {
+       __free_extra_info(job);
        free(job->req_id);
        free(job->pkgid);
        free(job->appid);