heart : remove PID argument of D-Bus 94/185194/2
authorKichan Kwon <k_c.kwon@samsung.com>
Fri, 27 Jul 2018 01:53:42 +0000 (10:53 +0900)
committerKichan Kwon <k_c.kwon@samsung.com>
Fri, 27 Jul 2018 04:19:46 +0000 (13:19 +0900)
Change-Id: Id6f91871513d322a38d34c43be8b2438b903b4f6
Signed-off-by: Kichan Kwon <k_c.kwon@samsung.com>
src/heart/heart-abnormal.c
src/heart/heart-storage.c

index 2a89aa30be9302692c10848db737e7e4ac95a9d5..a1b3f3b3c070e81e3f0c33fb0a6443af49643e9a 100644 (file)
@@ -146,13 +146,12 @@ static void heart_abnormal_process_crashed(GVariant *params)
        gpointer key, value;
        time_t curtime, starttime;
        GHashTableIter hiter;
-       int pid;
        char *process_name, *exepath, *appid, *pkgid;
        char info[ABNORMAL_DATA_MAX];
        struct heart_abnormal_table *table = NULL;
 
-       g_variant_get(params, "(i&s&s&s&s)", &pid, &process_name, &exepath, &appid, &pkgid);
-       if (pid <= 0 || !process_name || !exepath || !appid || !pkgid) {
+       g_variant_get(params, "(&s&s&s&s)", &process_name, &exepath, &appid, &pkgid);
+       if (!process_name || !exepath || !appid || !pkgid) {
                _E("Failed: dbus_message_get_args()");
                return;
        }
@@ -206,7 +205,7 @@ static int heart_abnormal_anr(void *data)
        }
        snprintf(info, sizeof(info), "%d ANR %d ", ps->pid, ANR);
        _D("info : %s", info);
-       ret = logging_write(ps->pid, ABNORMAL_NAME, appid, pkgid, time(NULL), info);
+       ret = logging_write(PID_FOR_ROOT, ABNORMAL_NAME, appid, pkgid, time(NULL), info);
        if (ret != RESOURCED_ERROR_NONE)
                _E("Failed to logging_write %s", info);
        return ret;
index 3d79e73a3fca328b65163b8728df1c1d6211bb1f..c8a73c65935c6039d2cd534f23cfd16bd4ef4d77 100644 (file)
@@ -41,6 +41,7 @@
 #include "logging.h"
 #include "heart-common.h"
 #include "dbus-handler.h"
+#include "proc-common.h"
 
 #include <sqlite3.h>
 
@@ -55,14 +56,23 @@ static void dbus_insert_log(GDBusMethodInvocation *invocation, GVariant *params)
        int pid = 0;
        char *pkgid = NULL;
        char *data = NULL;
+       struct proc_app_info *pai;
 
-       g_variant_get(params, "(u&s&s)", &pid, &pkgid, &data);
-       if (pid == 0 || !pkgid) {
+       g_variant_get(params, "(&s&s)", &pkgid, &data);
+       if (!pkgid) {
                _E("Wrong message arguments!");
                D_BUS_REPLY_NULL(invocation);
                return;
        }
 
+       pai = find_app_info_by_appid(pkgid);
+       if (!pai) {
+               _E("Failed to find the app info of %s", pkgid);
+               return;
+       }
+
+       pid = pai->main_pid;
+
        _SD("Insert record (%s, %s)", pkgid, data);
        ret = logging_write(pid, STORAGE_NAME, pkgid, pkgid, time(NULL), data);
        if (ret != RESOURCED_ERROR_NONE)
@@ -73,7 +83,6 @@ static void dbus_insert_log(GDBusMethodInvocation *invocation, GVariant *params)
 
 static const char dbus_methods_xml[] =
 "              <method name='Insert'>"
-"                      <arg type='u' name='Pid' direction='in'/>"
 "                      <arg type='s' name='Pkgid' direction='in'/>"
 "                      <arg type='s' name='UserData' direction='in'/>"
 "              </method>";