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;
}
}
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;
#include "logging.h"
#include "heart-common.h"
#include "dbus-handler.h"
+#include "proc-common.h"
#include <sqlite3.h>
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)
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>";