__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);
{
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);
}
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;