{
struct proc_status *ps = (struct proc_status *)data;
assert(ps && ps->pai);
+ if (!ps->pai)
+ return RESOURCED_ERROR_NO_DATA;
_D("service launch: pid = %d, appname = %s", ps->pid, ps->pai->appid);
- if (ps->pai && CHECK_BIT(ps->pai->categories, PROC_BG_SYSTEM))
+ if (CHECK_BIT(ps->pai->categories, PROC_BG_SYSTEM) ||
+ CHECK_BIT(ps->pai->categories, PROC_BG_MEDIA))
return RESOURCED_ERROR_NONE;
- else
- cpu_move_cgroup(ps->pid, CPU_BACKGROUND_GROUP);
+
+ cpu_move_cgroup(ps->pid, CPU_BACKGROUND_GROUP);
return RESOURCED_ERROR_NONE;
}
struct proc_status *ps = (struct proc_status *)data;
assert(ps && ps->pai);
- if (CHECK_BIT(ps->pai->categories, PROC_BG_MEDIA))
+ if (!ps->pai)
+ return RESOURCED_ERROR_NO_DATA;
+
+ if (CHECK_BIT(ps->pai->categories, PROC_BG_SYSTEM) ||
+ CHECK_BIT(ps->pai->categories, PROC_BG_MEDIA))
return RESOURCED_ERROR_NONE;
+
_D("app suspend: pid = %d, appname = %s", ps->pid, ps->pai->appid);
cpu_move_cgroup_foreach(ps->pid, ps->pai, CPU_CPUQUOTA_GROUP);
return RESOURCED_ERROR_NONE;