From: YoungHun Kim Date: Wed, 22 Feb 2023 06:22:56 +0000 (+0900) Subject: Fix svace issue X-Git-Tag: submit/tizen_6.0/20230227.020630^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fheads%2Ftizen_6.0;p=platform%2Fcore%2Fmultimedia%2Fmmsvc-core.git Fix svace issue Change-Id: I2a7b962ae4419560472266fb93ec26d6791591d3 --- diff --git a/packaging/mused.spec b/packaging/mused.spec index f3ef452d..c3f1927d 100644 --- a/packaging/mused.spec +++ b/packaging/mused.spec @@ -1,6 +1,6 @@ Name: mused Summary: A multimedia daemon -Version: 0.3.141 +Version: 0.3.142 Release: 0 Group: System/Libraries License: Apache-2.0 diff --git a/server/src/muse_server_system.c b/server/src/muse_server_system.c index 602c93db..bb88252e 100644 --- a/server/src/muse_server_system.c +++ b/server/src/muse_server_system.c @@ -320,26 +320,34 @@ static gboolean _ms_system_cpu_usage_cb(gpointer user_data) sscanf(buf, "cpu %llu %llu %llu %llu", &u, &n, &s, &i); - u -= system->st.user; - n -= system->st.nice; - s -= system->st.system; - i -= system->st.idle; + u = u > system->st.user ? u - system->st.user : 0; + n = n > system->st.nice ? n - system->st.nice : 0; + s = s > system->st.system ? s - system->st.system : 0; + i = i > system->st.idle ? i - system->st.idle : 0; system->st.user += u; system->st.nice += n; system->st.system += s; system->st.idle += i; - system->st.usage = (int)100 * (u + n + s) / (u + n + s + i); + if (u + n + s + i == 0) { + LOGW("[#%d] cpu usage is 0%%", system->st.counter); + return G_SOURCE_REMOVE; + } + + system->st.usage = (int)(100 * ((double)(u + n + s) / (u + n + s + i))); LOGD("[#%d] cpu usage %d %%", system->st.counter, system->st.usage); - if (system->st.usage < cpu_threshold) + if (system->st.usage < cpu_threshold) { + LOGI("[#%d] cpu usage (%d) < cpu_threshold (%d)", system->st.counter, system->st.usage, cpu_threshold); return G_SOURCE_REMOVE; + } system->st.counter++; if (system->st.counter >= MUSE_STAT_CHECK_COUNT) { - ms_log_process_info(ms_get_instance()->pid); + if (ms_get_instance()) + ms_log_process_info(ms_get_instance()->pid); snprintf(err_msg, sizeof(err_msg), "[CPU BUSY] %d >= %d %%", system->st.usage, cpu_threshold);