proc-stat : remove clearly after grouping 98/107798/7
authorKichan Kwon <k_c.kwon@samsung.com>
Thu, 29 Dec 2016 05:05:37 +0000 (14:05 +0900)
committerKichan Kwon <k_c.kwon@samsung.com>
Wed, 18 Jan 2017 02:07:18 +0000 (11:07 +0900)
- When application is grouped, grouped app info is removed
- But, each ppi has a list pointing pai
- Therefore, ppi also should be processed when pai is removed
- proc_remove_app_info will do appropriately

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

index e338849..5341dcc 100644 (file)
@@ -1330,7 +1330,6 @@ void proc_set_group(pid_t ownerpid, pid_t childpid, char *pkgname)
        _cleanup_app_list_close_ GSList *proc_app_list = PAL_INIT_VALUE;
        int owner_oom = 0, child_oom = 0, ret;
        int child_type = 0, child_state = 0;
-       struct proc_program_info *ppi;
        struct proc_app_info *pai, *owner;
        struct proc_status ps = {0};
 
@@ -1359,10 +1358,6 @@ void proc_set_group(pid_t ownerpid, pid_t childpid, char *pkgname)
                 * check and remove them
                 */
                if (pai->main_pid == childpid) {
-                       ppi = pai->program;
-                       if (ppi)
-                               ppi->app_list = g_slist_remove(ppi->app_list, pai);
-
                        ret = proc_get_oom_score_adj(childpid, &child_oom);
                        if (ret < 0) {
                                _D("can't get oom score for pid (%d)", childpid);
@@ -1378,8 +1373,7 @@ void proc_set_group(pid_t ownerpid, pid_t childpid, char *pkgname)
                                owner->categories |= pai->categories;
                        if (pai->runtime_exclude)
                                owner->runtime_exclude += pai->runtime_exclude;
-                       (void) proc_app_list_remove_app_info(pai);
-                       free(pai);
+                       proc_remove_app_info(pai);
                } else {
                        _D("main pid(%d) was different from childpid(%d)",
                            pai->main_pid, childpid);