proc-stat : no more use cleanup macro if the function can be ended before opening... 19/121219/8
authorKichan Kwon <k_c.kwon@samsung.com>
Mon, 27 Mar 2017 08:46:21 +0000 (17:46 +0900)
committerKichan Kwon <k_c.kwon@samsung.com>
Fri, 19 May 2017 01:38:03 +0000 (10:38 +0900)
- cleanup_app_list_close macro decreases reference counter
- Therefore, this macro should be called after proc_app_list is opened
- In this case, we will not use this macro

Change-Id: I66a074523543e9791c61a718e1530836189f9714
Signed-off-by: Kichan Kwon <k_c.kwon@samsung.com>
src/proc-stat/proc-main.c
src/proc-stat/proc-monitor.c
src/proc-stat/proc-process.c

index 0cec334cb3618211819cd8a4afe1553ded5015f7..5af9af6f2d21937f153d56f0d4611fb060f6fd0d 100644 (file)
@@ -685,7 +685,7 @@ finish:
 
 static void proc_app_list_add_app_info(struct proc_app_info *pai)
 {
-       _cleanup_app_list_close_ GSList *proc_app_list = PAL_INIT_VALUE;
+       GSList *proc_app_list = PAL_INIT_VALUE;
        int ret;
 
        if (pai->main_pid <= 0)
@@ -697,8 +697,7 @@ static void proc_app_list_add_app_info(struct proc_app_info *pai)
 
        proc_app_list = proc_app_list_open();
        app_list.list = g_slist_prepend(proc_app_list, pai);
-
-       return;
+       proc_app_list_close();
 }
 
 static GSList *proc_app_list_remove_app_info(struct proc_app_info *pai)
index 4e7aa309db2bf810c0041162d69cf3b55d3baee5..d508b3984500839b54df34b35a853148d2d9c2b0 100755 (executable)
@@ -273,6 +273,8 @@ static void dbus_get_cpu_list(GDBusMethodInvocation *invocation, GVariant *param
        int ret;
        GVariantBuilder builder, *sub_builder;
 
+       proc_app_list = proc_app_list_open();
+
        ret = proc_get_uptime(&uptime);
        if (ret) {
                _E("Failed to get uptime");
@@ -283,7 +285,6 @@ static void dbus_get_cpu_list(GDBusMethodInvocation *invocation, GVariant *param
        g_variant_builder_init(&builder, G_VARIANT_TYPE_TUPLE);
        sub_builder = g_variant_builder_new(G_VARIANT_TYPE("a(su)"));
 
-       proc_app_list = proc_app_list_open();
        gslist_for_each_item(giter, proc_app_list) {
                unsigned long percent;
                pai = (struct proc_app_info *)giter->data;
@@ -309,7 +310,7 @@ static void dbus_get_cpu_list(GDBusMethodInvocation *invocation, GVariant *param
 
 static void dbus_get_memory_lists(GDBusMethodInvocation *invocation, GVariant *params)
 {
-       _cleanup_app_list_close_ GSList *proc_app_list = PAL_INIT_VALUE;
+       GSList *proc_app_list = PAL_INIT_VALUE;
        GSList *giter;
        char *appid;
        int type;
@@ -345,11 +346,12 @@ static void dbus_get_memory_lists(GDBusMethodInvocation *invocation, GVariant *p
        g_variant_builder_unref(sub_builder);
 
        g_dbus_method_invocation_return_value(invocation, g_variant_builder_end(&builder));
+       proc_app_list_close();
 }
 
 static void dbus_get_cpu_lists(GDBusMethodInvocation *invocation, GVariant *params)
 {
-       _cleanup_app_list_close_ GSList *proc_app_list = PAL_INIT_VALUE;
+       GSList *proc_app_list = PAL_INIT_VALUE;
        GSList *giter;
        int ret, type;
        char *appid;
@@ -407,6 +409,7 @@ static void dbus_get_cpu_lists(GDBusMethodInvocation *invocation, GVariant *para
        g_variant_builder_unref(sub_builder);
 
        g_dbus_method_invocation_return_value(invocation, g_variant_builder_end(&builder));
+       proc_app_list_close();
 }
 
 static void proc_dbus_exclude_signal_handler(GVariant *params)
index 31e71db29f6b962eebe291b2b0b36dde9e5edd85..771b55e13138a052f03de0f949020c02d9a74399 100644 (file)
@@ -86,7 +86,6 @@ static void proc_set_oom_score_services(int state, GSList *svcs,
 
 static int proc_backgrd_manage(int currentpid, int active, int oom_score_adj)
 {
-       _cleanup_app_list_close_ GSList *proc_app_list = PAL_INIT_VALUE;
        pid_t pid = -1;
        int flag = RESOURCED_NOTIFIER_APP_BACKGRD;
        struct proc_status ps;
@@ -137,6 +136,8 @@ static int proc_backgrd_manage(int currentpid, int active, int oom_score_adj)
        }
 
        if (checkprevpid != currentpid) {
+               _cleanup_app_list_close_ GSList *proc_app_list = PAL_INIT_VALUE;
+
                proc_app_list = proc_app_list_open();
                gslist_for_each_item(iter, proc_app_list) {
                        struct proc_app_info *spi = (struct proc_app_info *)iter->data;