From: Hwankyu Jhun Date: Tue, 25 Feb 2020 01:12:43 +0000 (+0900) Subject: Fix memory management feature X-Git-Tag: submit/tizen/20200225.050505~3 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=37df24dab41b16c697e3e28d54b171d0e218c30e;p=platform%2Fcore%2Fappfw%2Flaunchpad.git Fix memory management feature Change-Id: Icff15a3b5e9b16e3e3e0572a1cbdb8daa673e2b9 Signed-off-by: Hwankyu Jhun --- diff --git a/src/launchpad/src/launchpad.c b/src/launchpad/src/launchpad.c index 487da6e7..4d8bbd36 100644 --- a/src/launchpad/src/launchpad.c +++ b/src/launchpad/src/launchpad.c @@ -1958,8 +1958,12 @@ static void __update_slot_state(candidate_process_context_t *cpc, int method, __deactivate_slot(cpc); break; case METHOD_AVAILABLE_MEMORY: + if (force || cpc->activation_method & method) + __activate_slot(cpc); + break; case METHOD_REQUEST: - __update_slot_state(cpc, METHOD_OUT_OF_MEMORY, force); + if (force || cpc->activation_method & method) + __update_slot_state(cpc, METHOD_OUT_OF_MEMORY, force); break; default: __activate_slot(cpc); @@ -2805,16 +2809,17 @@ static int __memory_monitor_cb(bool low_memory, void *user_data) { candidate_process_context_t *cpc; + _W("low memory(%s)", low_memory ? "true" : "false"); cpc = __get_running_slot(false); if (!cpc && low_memory) return -1; - __update_slots_pss(); + if (low_memory) { + __update_slots_pss(); - candidate_slot_list = g_list_sort(candidate_slot_list, __compare_slot); + candidate_slot_list = g_list_sort(candidate_slot_list, + __compare_slot); - _W("low memory(%s)", low_memory ? "true" : "false"); - if (low_memory) { do { __pause_last_running_slot(false); diff --git a/src/launchpad/src/launchpad_memory_monitor.c b/src/launchpad/src/launchpad_memory_monitor.c index c6e0d2c0..dacf3ab7 100644 --- a/src/launchpad/src/launchpad_memory_monitor.c +++ b/src/launchpad/src/launchpad_memory_monitor.c @@ -57,15 +57,11 @@ static gboolean __memory_check_cb(gpointer data) } if (__monitor.callback) { - ret = __monitor.callback(mem_used_ratio > __monitor.threshold, + __monitor.callback(mem_used_ratio > __monitor.threshold, __monitor.user_data); - if (ret == 0) { - _W("Reset interval"); - __monitor.interval = __monitor.base_interval; - } } - _W("previous used ratio(%u), current used ratio(%u)", + _D("previous used ratio(%u), current used ratio(%u)", __monitor.prev_used_ratio, mem_used_ratio); __monitor.prev_used_ratio = mem_used_ratio;